hbase和hive的集成
下面写的是hbase中的表hbase_1和hive中的表hive_1关联,然后在hbase中进行hbase_1的数据改变,实现hive中的表hive_1的同时改变。
一、安装好hadoop、hbase、hive。
二、进行配置jar包的转移
主要有一下几个
hive-hbase-handler-1.2.1.jar、hbase-it-0.98.15-hadoop2.jar、zookeeper-3.4.6.jar、guava-14.0.1.jar、hbase-common-0.98.15-hado
oop2.jar、hbase-client-0.98.15-hadoop2.jar、protobuf-java-2.5.0.jar
将这三个jar包放进HIVE_HOME/lib里
进入hive-site.xml中
<property>
<name>hive.aux.jars.path</name>
<value>file:///usr/local/hive/lib/hive-hbase-handler-1.2.1.jar,file///usr/local/hive/lib/hbase-it-0.98.15-hadoop2.jar
,file:///usr/local/hive/lib/zookeeper-3.4.6.jar,file:///usr/local/hive/lib/guava-14.0.1.jar,file:///usr/local/hive/lib/
hbase-common-0.98.15-hadooop2.jar,file:///usr/local/hive/lib/hbase-client-0.98.15-hadoop2.jar,file:///usr/local/hive/lib/
protobuf-java-2.5.0.jar</value>
</property>
三、启动hadoop和hbase,进入./hive/bin/hive 输入命令:
hive>CREATE TABLE hive_1(key int, value string)
hive>STORED BY 'org.apache.hadoop.hive.habse.HBaseStorageHandler' (注意这条命令一定注意大小写)
hive>WITH SERDEPROPERTIES("habse.columns.mapping" = "key,cf1:val")
hive>TBLPROPERTIES("hbase.table.name" = "hbase_1");
执行成功后 查看hive中的表会出现一个新表hive_1,此时查看表中数据select * from hive_1;,表为空的。
进入hbase shell中你会发现有一个表hbase_1,查看表中数据scan 'hbase_1',表为空。
四、检验hbase和hive数据关联
在hbase中
hbase>put 'hbase_1', '100', 'cf1:val', 'bigdata'
habse>scan 'hbase_1' 会出现一行插入的数据
然后进入hive中
hive>select * from hive_1;
会出现一行数据,跟之前在hbase中插入的数据一样。
到这里就实现了hbase和hive的数据集成。
下面写的是hbase中的表hbase_1和hive中的表hive_1关联,然后在hbase中进行hbase_1的数据改变,实现hive中的表hive_1的同时改变。
一、安装好hadoop、hbase、hive。
二、进行配置jar包的转移
主要有一下几个
hive-hbase-handler-1.2.1.jar、hbase-it-0.98.15-hadoop2.jar、zookeeper-3.4.6.jar、guava-14.0.1.jar、hbase-common-0.98.15-hado
oop2.jar、hbase-client-0.98.15-hadoop2.jar、protobuf-java-2.5.0.jar
将这三个jar包放进HIVE_HOME/lib里
进入hive-site.xml中
<property>
<name>hive.aux.jars.path</name>
<value>file:///usr/local/hive/lib/hive-hbase-handler-1.2.1.jar,file///usr/local/hive/lib/hbase-it-0.98.15-hadoop2.jar
,file:///usr/local/hive/lib/zookeeper-3.4.6.jar,file:///usr/local/hive/lib/guava-14.0.1.jar,file:///usr/local/hive/lib/
hbase-common-0.98.15-hadooop2.jar,file:///usr/local/hive/lib/hbase-client-0.98.15-hadoop2.jar,file:///usr/local/hive/lib/
protobuf-java-2.5.0.jar</value>
</property>
三、启动hadoop和hbase,进入./hive/bin/hive 输入命令:
hive>CREATE TABLE hive_1(key int, value string)
hive>STORED BY 'org.apache.hadoop.hive.habse.HBaseStorageHandler' (注意这条命令一定注意大小写)
hive>WITH SERDEPROPERTIES("habse.columns.mapping" = "key,cf1:val")
hive>TBLPROPERTIES("hbase.table.name" = "hbase_1");
执行成功后 查看hive中的表会出现一个新表hive_1,此时查看表中数据select * from hive_1;,表为空的。
进入hbase shell中你会发现有一个表hbase_1,查看表中数据scan 'hbase_1',表为空。
四、检验hbase和hive数据关联
在hbase中
hbase>put 'hbase_1', '100', 'cf1:val', 'bigdata'
habse>scan 'hbase_1' 会出现一行插入的数据
然后进入hive中
hive>select * from hive_1;
会出现一行数据,跟之前在hbase中插入的数据一样。
到这里就实现了hbase和hive的数据集成。