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

Hive與HBase的整合

系統(tǒng) 4511 0

開場(chǎng)白:

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

口水:

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

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

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

?????

2、運(yùn)行Hive時(shí),也許會(huì)出現(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)行在同一臺(tái)機(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中建表語(yǔ)句,并且將數(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是通過(guò)Hive在Hbase中創(chuàng)建的表,剛剛在Hive的建表語(yǔ)句中指定了映射的屬性? "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)行查詢語(yǔ)句,看看剛剛在hbase中插入的數(shù)據(jù)有沒有同步過(guò)來(lái),

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

如圖所示:

最終的效果

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

????

????

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

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

??

Hive與HBase的整合


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 欧美精品一区二区三区观 | 伊人五月| 久久久久久久99精品免费观看 | 免费看黄色片视频 | 亚洲一区二区三区高清网 | 成人xxx免费视频播放 | 麻豆成人在线 | 欧美日日夜夜 | 久久精品国产精品亚洲艾 | 99久久精品国产高清一区二区 | 偷偷操不一样的久久 | 伊人激情网 | 久久精品国产亚洲麻豆小说 | 视频二区 素人 欧美 日韩 | 青青青在线观看免费视频精品 | 天天操天天射天天 | 欧美性另类69xxxx极品 | 日本一区色 | 欧美一欧美一级毛片 | h片在线免费观看 | 日本α级毛片视频免费观看 | 日韩成a人片在线观看日本 日韩成人 | 欧美亚洲综合图区在线 | 国产精品 视频一区 二区三区 | 成 人国产在线观看高清不卡 | 外国一级黄色毛片 | 老司机免费福利影院 | 国产区欧美 | 国产一区二区三区不卡观 | 亚洲一本通 | 亚洲欧洲日本在线 | 色sese| 99精品在线视频观看 | 中文成人在线 | 国产一区私人高清影院 | 欧美大片一区 | 日日夜夜天天久久 | 手机看片日韩国产 | 特级毛片免费视频播放 | 热热九九 | 日韩一区二区在线观看 |