亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Hive與HBase的整合

系統(tǒng) 3923 0

開場白:

Hive與HBase的整合功能的實(shí)現(xiàn)是利用兩者本身對外的API接口互相進(jìn)行通信,相互通信主要是依靠hive_hbase-handler.jar工具類 ( Hive Storage Handlers ), 大致意思如圖所示:

口水:

?對 hive_hbase-handler.jar 這個(gè)東東還有點(diǎn)興趣,有空來磋磨一下。

一、2個(gè)注意事項(xiàng):

1、需要的軟件有 Hadoop、Hive、Hbase、Zookeeper,Hive與HBase的整合對Hive的版本有要求,所以不要下載.0.6.0以前的老版本,Hive.0.6.0的版本才支持與HBase對接,因此在Hive的lib目錄下可以看見多了hive_hbase-handler.jar這個(gè)jar包,他是Hive擴(kuò)展存儲的Handler ,HBase 建議使用 0.20.6的版本,這次我沒有啟動(dòng)HDFS的集群環(huán)境,本次所有測試環(huán)境都在一臺機(jī)器上。

?????

2、運(yùn)行Hive時(shí),也許會出現(xiàn)如下錯(cuò)誤,表示你的JVM分配的空間不夠, 錯(cuò)誤信息 如下:

Invalid maximum heap size: -Xmx4096m

The specified size exceeds the maximum representable size.

Could not create the Java virtual machine.

解決方法:

/work/hive/bin/ext# vim util/execHiveCmd.sh 文件中第33行

修改,

HADOOP_HEAPSIZE=4096



HADOOP_HEAPSIZE=256

另外,在 /etc/profile/ 加入 export $HIVE_HOME=/work/hive

二、啟動(dòng)運(yùn)行環(huán)境

1啟動(dòng)Hive

hive –auxpath /work/hive/lib/hive_hbase-handler.jar,/work/hive/lib/hbase-0.20.3.jar,/work/hive/lib/zookeeper-3.2.2.jar -hiveconf hbase.master=127.0.0.1:60000

加載 Hive需要的工具類,并且指向HBase的master服務(wù)器地址,我的HBase master服務(wù)器和Hive運(yùn)行在同一臺機(jī)器,所以我指向本地。

2啟動(dòng)HBase

/work/hbase/bin/hbase master start

3啟動(dòng)Zookeeper

/work/zookeeper/bin/zkServer.sh start

三、執(zhí)行

在Hive中創(chuàng)建一張表,相互關(guān)聯(lián)的表

CREATE TABLE hbase_table_1(key int, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val") TBLPROPERTIES (" hbase.table.name " = "xyz");

在運(yùn)行一個(gè)在Hive中建表語句,并且將數(shù)據(jù)導(dǎo)入

建表

????CREATE TABLE pokes (foo INT, bar STRING);

數(shù)據(jù)導(dǎo)入

????LOAD DATA LOCAL INPATH '/work/hive/examples/files/kv1.txt' OVERWRITE INTO TABLE pokes;

在Hive與HBase關(guān)聯(lián)的表中 插入一條數(shù)據(jù)

????INSERT OVERWRITE TABLE hbase_table_1 SELECT * FROM pokes WHERE foo=98;

運(yùn)行成功后,如圖所示:

插入數(shù)據(jù)時(shí)采用了MapReduce的策略算法,并且同時(shí)向HBase寫入,如圖所示:

在HBase shell中運(yùn)行 scan 'xyz' 和describe "xyz" 命令,查看表結(jié)構(gòu),運(yùn)行結(jié)果如圖所示:

xyz是通過Hive在Hbase中創(chuàng)建的表,剛剛在Hive的建表語句中指定了映射的屬性? "hbase.columns.mapping" = ":key,cf1:val"? 和 在HBase中建表的名稱? " hbase.table.name " = "xyz"

在hbase在運(yùn)行put命令,插入一條記錄

???? put 'xyz','10001','cf1:val',' www.javabloger.com '

在hive上運(yùn)行查詢語句,看看剛剛在hbase中插入的數(shù)據(jù)有沒有同步過來,

????select * from hbase_table_1 WHERE key=10001;

如圖所示:

最終的效果

????以上整合過程和操作步驟已經(jīng)執(zhí)行完畢,現(xiàn)在 Hive中添加記錄HBase中有記錄添加,同樣你在HBase中添加記錄Hive中也會添加 , 表示Hive與HBase整合成功,對海量級別的數(shù)據(jù)我們是不是可以在HBase寫入,在Hive中查詢 喃?因?yàn)? HBase 不支持 復(fù)雜的查詢,但是HBase可以作為基于 key 獲取一行或多行數(shù)據(jù),或者掃描數(shù)據(jù)區(qū)間,以及過濾操作。而 復(fù)雜的 查詢可以讓 Hive 來完成 ,一個(gè)作為存儲的入口(HBase),一個(gè)作為查詢的入口(Hive)。如下圖示。

????

????

????呵呵,見笑了,以上只是我面片的觀點(diǎn)。

先這樣,稍后我將繼續(xù)更新,感謝你的閱讀。

??

Hive與HBase的整合


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久精品视频免费在线观看 | 在线观看欧美精品 | 欧美一级网址 | 日韩不卡免费视频 | 韩日视频在线观看 | 在线97| 国内久久精品视频 | 中文字幕第5页 | 视频免费1区二区三区 | 亚洲一区二区免费视频 | 奇米奇米色 | 欧美三级欧美成人高清www | 国农村精品国产自线拍 | 美美女高清毛片视频黄的一免费 | 欧美激情精品久久久久 | 日韩黄色网页 | 欧美成人高清免费大片观看 | 夜夜操天天 | 成人一级免费视频 | 日韩欧美福利 | 亚洲免费视频在线 | 日韩综合nv一区二区在线观看 | 九九影院理论片私人影院 | 污宅男666在线永久免费观看 | 毛片一级毛片 | 日韩毛片在线观看 | 视频在线国产 | 国产精品久久久久久麻豆一区 | 日日操夜夜骑 | 曰本性l交片视频视频 | 凹凸精品视频分类国产品免费 | 99在线视频网站 | 亚洲精品成人网久久久久久 | 亚洲日本高清影院毛片 | 成人欧美视频免费看黄黄 | 欧美激情在线精品三区 | 四虎亚洲国产成人久久精品 | 久久精品日日躁夜夜躁欧美 | 久久久久久久久毛片精品 | 国产精品成aⅴ人片在线观看 | 2021久久精品国产99国产 |