HIVE與HBase的整合

2021-08-28 10:02:29 字數 1855 閱讀 8438

可以把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...