Alluxio结构化数据服务之示例篇

在上一篇文章中,我们描述了在Alluxio2.1.0版本中的全新结构化数据管理功能。本文通过一个简单的示例演示该功能如何助力SQL和结构化数据负载。

Alluxio2.2.0已经在上篇文章之后发布了。如果用户是首次体验这该功能的话,我们推荐用户直接更新到Alluxio2.2.0。该教程需要你本地已经配置成功Presto和Hive,并且能够一起正常运行。

步骤1:下载并安装Alluxio

下载并部署Alluxio2.2.0

第一步是下载Alluxio2.2.0版本。按照指南在你本地电脑部署Alluxio。以下是对指南中提到的一些命令的总结:

$ tar xf alluxio-2.2.0-bin.tar.gz
$ cd alluxio-2.2.0 # this directory corresponds to ${ALLUXIO_HOME}
$ cp conf/alluxio-site.properties.template conf/alluxio-site.properties
$ echo "alluxio.master.hostname=localhost" >> conf/alluxio-site.properties
$ echo "alluxio.master.mount.table.root.ufs=/tmp" >> conf/alluxio-site.properties
$ ./bin/alluxio-mount.sh SudoMount
$ ./bin/alluxio format
$ ./bin/alluxio-start.sh local -f 

值得注意的是,Alluxio启动后,无需任何其他配置即可运行全新的结构化数据服务(Structured DataService)。

安装并配置AlluxioPresto连接器

Alluxio Presto连接器(Alluxio Presto Connector)是Presto访问Alluxio结构化数据管理的客户端。Presto将通过该Alluxio连接器与其他Alluxio服务进行交互。在此开发人员预览版中,需要手动将其安装到Presto中。这个连接器捆绑在Alluxio2.2.0版本的${ALLUXIO_HOME}/client/presto/plugins/目录中。为了安装Alluxio Presto连接器,必须将连接器目录复制到所有Presto节点上的Presto安装位置中。下面是一个例子:

$ cp -R ${ALLUXIO_HOME}/client/presto/plugins/presto-hive-alluxio-319/ \
${PRESTO_HOME}/plugin/hive-alluxio/

连接器安装完成后,就可以用来配置Presto目录。向Presto添加新的目录配置。例如,新建文件并添加配置:

$ echo "connector.name=hive-alluxio
hive.metastore=alluxio
hive.metastore.alluxio.master.address=localhost:19998"> ${PRESTO_HOME}/etc/catalog/catalog_alluxio.properties

安装并配置连接器后,必须重新启动Presto服务器以生效连接器及其配置。

步骤2:将Hive Metastore附加到Alluxio目录服务

Alluxio目录服务管理着系统中结构化数据的元数据。它负责管理所有数据库,表和模式信息,以及所有被存储数据的位置信息。该开发人员预览版支持将Hive Metastore作为底层数据库(“UnderDatabase”,其他外部目录和数据库的抽象)附加到Alluxio目录服务中。

将Hive Metastore附加到Alluxio目录服务的操作非常简单。只需运行“attachdb”命令行工具即可将其附加到Alluxio目录。例如,在Alluxio安装目录中执行:

$ ./bin/alluxio table attachdb hive thrift://localhost:9083 hive_db_name

该命令将从在thrift://HOSTNAME:9083找到的Hive Metastore中附加数据库名“hive_db_name”。attachdb命令执行完成后,Alluxio目录服务即可处理Hive Metastore。

关更多信息,请参见attachdb命令的文档

步骤3:在Presto中使用Alluxio结构化数据管理

附加数据库后,便可以通过Presto使用目录服务。利用之前配置的Alluxio目录,您可以使用Alluxio目录启动presto命令行界面(CLI):

$ presto --catalog catalog_alluxio

在Presto命令行界面中,您可以运行各种Presto命令和查询指令,这些命令和查询可通过Alluxio Presto连接器访问Alluxio目录服务。Alluxio目录服务将自动提供来自Hive Metastore的表信息,同时透明地使用Alluxio挂载的位置。

转换数据表

数据转换是Alluxio提供给结构化数据存储的一项核心优势,尤其是在底层表未按照计算优化的方式存储的情形下。如果有任何表存储了太多文件, 或者以CSV格式存储,则可以使用Alluxio转换服务(Alluxio Transformation Service)将数据转换为计算更加优化的表示形式。例如,在Alluxio安装目录中执行:

$ ./bin/alluxio table transform hive_db_name test_table

这条命令将启动转换过程以优化数据库“hive_db_name”中的“test_table”表。转换完成后,Alluxio目录服务中的元数据将自动更新。

有关更多信息,请参见转换服务的文档

赶快试试看!

我们很高兴为大家介绍Alluxio结构化数据管理!对于Alluxio来说,这是一项激动人心的新工作,可以提供更多的益处(尤其是针对SQL框架)。赶快尝鲜Alluxio结构化数据管理和Presto吧,我们非常感谢来自Alluxio Github上关于的该特性和问题的任何反馈!如果您发现任何问题,请随时在我们的Alluxio社区Slack频道中提问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值