接上一个文章, Alluxio 集群已经安装完成。
这里介绍一下hive 配置Alluxio文件系统的方法,并且创建相应的表,并查询等。
首先 copy alluxio client jar 包到hive中,
cp /home/alluxio-2.8.1/client/alluxio-2.8.1-client.jar $HIVE_HOME/lib/
hive 配置文件 hive-site.xml 中添加 Alluxio 信息。
<!--
<property>
<name>alluxio.zookeeper.enabled</name>
<value>true</value>
</property>
<property>
<name>alluxio.zookeeper.address</name>
<value>shining-bigdata00.host.com:2181</value>
</property>
-->
<property>
<name>alluxio.master.rpc.addresse</name>
<value>shining-bigdata00.host.com:19998,shining-bigdata01.host.com:19998</value>
</property>
# 上面是Alluxio集群的两个方法, 看用的是zk搭建,还是raft方法,就用相应的配置。
Hive 客户端和hive meta 都需要添加。
Hive中创建 alluxio 文件系统的表。
Alluxio 官网提供一个测试的hive数据,
可以在 http://grouplens.org/datasets/movielens/ 页面上下载,
下载数据文件(如:ml-100k.zip)。然后接下该文件,并且将文件u.user上传到Alluxio的ml-100k/下:
./bin/alluxio fs mkdir /ml-100k
./bin/alluxio fs copyFromLocal /path/to/ml-100k/u.user /ml-100k/
hive中创建Alluxio外链表:
hive> CREATE TABLE u_user (
userid INT,
age INT,
gender CHAR(1),
occupation STRING,
zipcode STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
STORED AS TEXTFILE
LOCATION 'alluxio://shining-bigdata00.host.com:19998,shining-bigdata01.host.com:19998/ml-100k';
执行查询:
hive> select * from u_user limit 5;
至此hive已经可以支持Alluxio文件系统,至于数据真正存在哪里, 就看Alluxio的后端配置了,hive就无需关心了。