溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Hive中怎么通過外部表操作Hbase數(shù)據(jù)

發(fā)布時間:2021-07-27 15:55:51 來源:億速云 閱讀:395 作者:Leah 欄目:大數(shù)據(jù)

Hive中怎么通過外部表操作Hbase數(shù)據(jù),很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

概述:

HBase:

    查詢效率比較高,常為實時業(yè)務(wù)提供服務(wù),但是其查詢方式比較單一,只能通過row方式get單條數(shù)據(jù),或者通過scan加過濾器的方式掃描數(shù)據(jù)表獲取數(shù)據(jù)。

Hive:

    hive用來存儲結(jié)構(gòu)化數(shù)據(jù),常用來搭建數(shù)據(jù)倉庫作為離線分析的數(shù)據(jù)存儲,支持HQL操作,但是對于復雜HQL都會轉(zhuǎn)化成mapreduce任務(wù),執(zhí)行比較慢。

    有時候我們數(shù)據(jù)存在HBase中,但是需要通過sql語句來操作hbase表數(shù)據(jù),我們一般使用Hive外部表操作HBase數(shù)據(jù)。

大體步驟如下:

1.拷貝依賴包

    將Hive操作HBase依賴的幾個包拷貝到Hive安裝目錄下的lib下(每個hive節(jié)點都要執(zhí)行拷貝):

  /usr/lib/hive/lib/zookeeper.jar; 

   /usr/lib/hive/lib/hbase.jar; 

  /usr/lib/hive/lib/hive-hbase-handler-X.X.X.jar 

   /usr/lib/hive/lib/guava-11.0.2.jar;

2.HBase操作

登錄hbase shell控制臺,新建hbase表ljs:student(ljs是命名空間,student是表名)

執(zhí)行命令:

create_namespace 'ljs'

 create 'ljs:student','info'        

Hive中怎么通過外部表操作Hbase數(shù)據(jù)

查看表結(jié)構(gòu):

 !desc  'ljs:student'

Hive中怎么通過外部表操作Hbase數(shù)據(jù)

向HBase表插入數(shù)據(jù):

    put 'ljs:student','1001','info:name','ljs1001'

    put 'ljs:student','1001','info:age','21'

    put 'ljs:student','1001','info:score','89'

    put 'ljs:student','2001','info:name','ljs1002'

    put 'ljs:student','2001','info:age','24'

    put 'ljs:student','2001','info:score','78'

查看表數(shù)據(jù):

Hive中怎么通過外部表操作Hbase數(shù)據(jù)

3.Hive操作

執(zhí)行/usr/hdp/2.6.3.0-235/hive/bin/hive登錄到hive控制臺

Hive中怎么通過外部表操作Hbase數(shù)據(jù)

新建hive數(shù)據(jù)表:

create external table hive_student(user_no string,user_name string,user_age string,user_score string) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties  ("hbase.columns.mapping" = ":key,info:name,info:age,info:score") tblproperties("hbase.table.name" = "ljs:student");

Hive中怎么通過外部表操作Hbase數(shù)據(jù)

查詢hive表,可查看hbase映射表中對應的數(shù)據(jù):

Hive中怎么通過外部表操作Hbase數(shù)據(jù)

至此Hive操作HBase表數(shù)據(jù)完成。

注意:

1.hive中建hbase映射表時,建表語句中關(guān)鍵字“hbase.columns.mapping”后面的對應映射字段要與HBase表字段大小寫一致。否則可能映射失敗。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI