Hbase和hive的整合
阿新 • • 發佈:2021-10-14
一、Hbase寫入資料到hive中
1.1 首先在Hbase上建立一張表hbase2hive
create 'hbase2hive','info'
1.2 向hbase2hive插入兩條資料做測試
1 put 'hbase2hive','user001','info:name','xiaoming' 2 put 'hbase2hive','user001','info:age',18 3 put 'hbase2hive','user002','info:name','xiaohong' 4 put 'hbase2hive','user002','info:age',17
1.3 在hive中建立外部表hive_test01並關聯到Hbase的hbase2hive
create exteral table hive_test01 (id string,name string,age int) stored by 'org.apache.hadoop.hive.HbaseStorageHandler' with serdeproperties("hbase.columns.mapping"=":key,info:name,info:info:age") tblproperties("hbase.table.name"="hbase2hive")
sotred by :表示hive_test的儲存格式
with serdeproperties:序列化和反序列化的設定
tblproperties:hive表的屬性設定(例子中案例表示hive_test關聯hbase2hive表資料)
1.4 接下來就可以在hive_test中查詢到Hbase中Hbase2hive表的資料啦!
二、hive寫入資料到Hbase中
2.1 在Hbase中建立表hive2hbase(資料匯入到這個表中)
create 'hive2hbase','info'
2.2 在hive表中建立外部表hive_test02
create exteral table hive_test02 (id string,name string,age int) stored by 'org.apache.hadoop.hive.HbaseStorageHandler' with serdeproperties("hbase.columns.mapping"=":key,info:name,info:info:age") tblproperties("hbase.table.name"="hive2hbase")
2.3 在hive中建立臨時表(將資料寫入在hive_test02)
create temporary table tmp_user(id string,name string,age int) row format delimited fields terminated by '\t';
2.4向臨時表中新增資料
load data local inpath '/home/test/user.txt' into table hive_test02;
2.5 在Hbase中查詢資料即可