Hive整合HBase 解決版本衝突

2021-09-02 19:37:30 字數 1716 閱讀 6858

筆者使用的是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...