筆者使用的是0.99.2這個版本的hbase.
第一步 : 拷貝hbase的jar包到hive
需要hbase下面的jar包到hive的lib目錄下
第二步:修改配置檔案
修改hive-site.xml配置檔案
將上述jar包新增到hive-site.xml配置的hive.aux.jars.path屬性中。
修改hive.zookeeper.quorum屬性新增hbase.zookeeper.quorum屬性,此屬性hive-site.xml之前不存在。
新增自己的zookeeper節點
筆者是單機版本的,沒有寫這個屬性,也沒有報錯。
hive-env.sh配置檔案
複製乙份hive-env.sh.template 改名為hive-env.sh
修改hive-env.sh配置檔案
啟動hive之前,先啟動hadoop,跟hbase,
然後啟動hive
bin/hive
bin/start-hbase
bin/hbase shell
進入hive:
隨便使用乙個庫,建議不要使用default這個庫,測試下面的這條語句看一下能否正常執行:
如果執行沒有報錯,能正常建立這張表,並且進去到hbase裡面:
這張表也建立成功,那麼hive跟hbase的整合就成功了。
但是根本不是這樣,期間會報錯:
failed: execution error, return code 1 from org.apache.hadoop.hive.ql.exec.ddltask. org.apache.hadoop.hbase.htabledescriptor.addfamily(lorg/apache/hadoop/hbase/hcolumndescriptor;)v
這種錯就是由於hive跟hbase的版本不相容的錯。
可以看下面這篇部落格,博主如何做的,我照著錯,能解決相容問題:
我已經編譯好了乙份,可以直接使用:
筆者參考的部落格:
和hbase對映 hbase整合hive
hive提供了與hbase的整合,是的能夠在hbase表上使用hive sql語句進行查詢 插入操作以及進行join和union等複雜查詢 同時也可以將hive表中的資料對映到hbase中。當我們在使用hive時候,在資料量多的時候就會發現非常的慢,乙個簡單的sql都要半天,其實我們追尋他的原因很簡...
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...