1、準備環境apache
前提條件已經安裝好了hbase,hiveapp
檢測hive/lib目錄下是否含有:hive-hbase-handler-版本.jar(經過此文件和hbase通訊)oop
2、拷貝文件url
進入hbase的lib目錄下,拷貝以下文件到:hive的lib目錄下spa
hbase-client-0.98.0-hadoop2.jarserver
hbase-common-0.98.0-hadoop2-tests.jarip
hbase-common-0.98.0-hadoop2.jarhadoop
hbase-protocol-0.98.0-hadoop2.jarstring
hbase-server-0.98.0-hadoop2.jartable
htrace-core-2.04.jar
啓動hive,以上整合完成
3、假定Hbase中已經存在以下表:
表名:testTable
列簇:f
列:ip
列:url
須要在hive中建立一個外部表,指向hbase
語句以下:
CREATE EXTERNAL TABLE log2 (key String ,url string,ip string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,f:url,f:ip")
TBLPROPERTIES("hbase.table.name" = "log");
4、解釋:
Log2: 表示hive的外部表名字
key: 必須有
在建立hive/hbase相關聯的表時,hbase表結構默認會有一個字段key,若是沒有一個顯示的字段'key'那麼在建立表的進修,會本身建立,這樣hive對應的表就會出現問題,因此在hive對應的表裏必定要加上key這個字段,爲了不這個問題,在hbase表結構裏能夠顯示的添加'key'字段,這樣不容易出問題。
Hbase.columns.mapping表示和hbase的列作映射
5、驗證
在hbase中插入數據
在hive中執行查詢,可查詢數據