可以把hive整合hbase需要的jar包拷貝到hive lib目錄下面:
1 hbase-server-
0.98
.6-cdh5.
3.6.jar
2 hbase-client-
0.986
-cdh5.
3.6.jar
3 hbase-potocol-
0.98
.6-cdh5.
3.6.jar
4 hbase-it-
0.98
.6-cdh5.
3.6.jar
5 hbase-hadoop2-compat-
0.98
.6-cdh5.
3.6.jar
6 hbase-hadoop-compat-
0.98
.6-cdh5.
3.6.jar
7 high-scale-lib-
1.1.1
.jar
8 hbase-common-
0.98
.6-cdh5.
3.6.jar
把以上的jar包拷貝到hive中lib目錄下面。
>
>
hbase.zookeeper.quorumname
>
>
hhvalue
>
property
>
create table hbase_table_3
(key int
, value string)
stored by 'org.apache.hadoop.hive.hbase.hbasestoragehandler'
with serdeproperties (
=":key,cf1:val"
)tblproperties (
"hbase.table.name"
="xyz3"
,"hbase.mapred.output.outputtable"
="xyz3"
);
以上的方式建立表為hive中的管理表。
特點:hbase中沒有該錶的前提下,建立之後,hbase中存在這個表。
在建立之後,需要匯入資料,不能用load data local inpath…,需要跑mr程式,所以要使用insert overwrite,將一張表中的資料載入到hive表中,載入後資料也不在hive中,而是在hbase中。
create external table hbase_table_4
(key int
, value string)
stored by 'org.apache.hadoop.hive.hbase.hbasestoragehandler'
with serdeproperties (
="cf1:val"
)tblproperties
("hbase.table.name"
="xyz3"
,"hbase.mapred.output.outputtable"
="xyz3"
);
建立之後hbase不存在這張表,這張表是在hive中的。
用普通的建立外部表的方式,建立出來的外部表是沒有資料的,因為你的hive中的資料存放在hbase中而不是在hive中。
內部表:刪除表 對應的資料檔案會被刪除
外部表:刪除表 對應的資料檔案不會被刪除
Hbase與Hive的整合
環境準備 因為我們後續可能會在操作hive的同時對hbase也會產生影響,所以hive需要持有操作hbase的jar,那麼接下來拷貝hive所依賴的jar包 或者使用軟連線的形式 export hbase home opt module hbase export hive home opt modu...
Hive 五 hive與hbase整合
配置 hive 與 hbase 整合的目的是利用 hql 語法實現對 hbase 資料庫的增刪改查操作,基本原理就是利用兩者本身對外的api介面互相進行通訊,兩者通訊主要是依靠hive hbase handler.jar工具類。但請注意 使用hive操作hbase中的表,只是提供了便捷性,前面章節已...
Hive篇 Hive與Hbase整合
一 前述 hive會經常和hbase結合使用,把hbase作為hive的儲存路徑,所以hive整合hbase尤其重要。二 具體步驟 hive和hbase同步 1 把hive hbase handler 1.2.1.jar cp到hbase lib 下 同時把hbase中的所有的jar,cp到hive...