1、文档(不会的直接找文档最方便)
2、拷贝jar文件
2.1 将Hbase/bin目录下面文件拷贝到Hive/bin目录下
-
cd /home/hbase/lib
-
cp ./* /home/hive/lib
2.2 把Hive的lib目录下面的hive-hbase-handler-0.13.1.jar拷贝到Hbase的lib目录下面
cp /home/hive/lib/hive-hbase-handler-0.13.1.jar /home/hbase/lib/
3、修改Hive/conf目录下面的配置文件
主要配置Zookeeper节点信息
-
cd /home/hive/conf
-
vi hive-site.xml
-
<!-- Hbase zookeeper quorum -->
-
<property>
-
<name>hbase.zookeeper.quorum</name>
-
<value>master,slave1,slave2</value>
-
</property>
4、在Hbase中创建表
-
--在Hbase中创建表
-
create 'hbase_to_hive_t_user', 'cf_user_info'
-
hbase(main):010:0> desc 'hbase_to_hive_t_user'
-
Table hbase_to_hive_t_user is ENABLED
-
COLUMN FAMILIES DESCRIPTION
-
{NAME => 'cf_user_info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_S
-
COPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER',
-
KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => '
-
true'}
-
row(s) in 0.0650 seconds
5、在Hbase表中插入数据
-
--插入数据
-
put 'hbase_to_hive_t_user', '1', 'cf_user_info:name','Tom'
-
put 'hbase_to_hive_t_user', '1', 'cf_user_info:age',24
-
put 'hbase_to_hive_t_user', '2', 'cf_user_info:name','John'
-
put 'hbase_to_hive_t_user', '2', 'cf_user_info:age',18
-
put 'hbase_to_hive_t_user', '3', 'cf_user_info:name','Steven'
-
put 'hbase_to_hive_t_user', '3', 'cf_user_info:age',38
-
scan 'hbase_to_hive_t_user'
-
hbase(main):009:0> scan 'hbase_to_hive_t_user'
-
ROW COLUMN+CELL
-
column=cf_user_info:age, timestamp=1546754368046, value=24
-
column=cf_user_info:name, timestamp=1546754367972, value=Tom
-
column=cf_user_info:age, timestamp=1546754368166, value=18
-
column=cf_user_info:name, timestamp=1546754368103, value=John
-
column=cf_user_info:age, timestamp=1546754370447, value=38
-
column=cf_user_info:name, timestamp=1546754368211, value=Steven
-
row(s) in 0.1600 seconds
6、在Hive中创建数据库表关联Hbase里面的表
-
--如果你想要Hive去访问Hbase中已经存在的表,你可以创建外部表(CREATE EXTERNAL TABLE)
-
CREATE EXTERNAL TABLE hive_access_hbase_table_t_user_2 (key string, name string, age int,)
-
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
-
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf_user_info:name,cf_user_info:age")
-
TBLPROPERTIES ("hbase.table.name" = "hbase_to_hive_t_user");
6.1在Hive中查询Hbase表里的数据
-
-- 查询
-
SELECT * from hive_access_hbase_table_t_user;
-
hive> select * from hive_access_hbase_table_t_user;
-
OK
-
Tom 24
-
John 18
-
Steven 38
-
Time taken: 0.325 seconds, Fetched: 3 row(s)