在hive shell中建立關聯表的命令如下:
create table hive表名(rowkey date-type, value1 date-type, value2 date-type, value3 date-type)
stored by 'org.apache.hadoop.hive.hbase.hbasestoragehandler'
tblproperties("hbase.table.name" = "hbase表名");
建立後的表若匯入資料,不能直接從hive外面直接匯入檔案資料到關聯表中,需要通過中間錶用insert命令匯入關聯表。
還可以直接對hbase中已經存在的表進行關聯,命令基本一樣 只有乙個地方有區別:
create table hive表名(rowkey date-type, value1 date-type, value2 date-type, value3 date-type)
stored by 'org.apache.hadoop.hive.hbase.hbasestoragehandler'
tblproperties("hbase.table.name" = "hbase表名");
以上欄位名要 「rowkey,列族名:列名,列族名:列名,列族名:列名 」要對應,rowkey就是行鍵 前面對比上面的少了乙個:號這就是區別。
以上就是**就建立好了hive關聯表,當hive上增加記錄時,對應hbase表也會自動新增資料。
hbase表新增資料時,對應的hive表也會跟著新增記錄。
表的刪除注意事項:
1:第一種建立方法,當先刪除hive上的表時,hbase也就不再了。 如果先刪除hbase上面的表時,hive上的表show tables;還會顯示存在,但是如果查詢裡面的資料時是沒有資訊的會報錯,輸入drop table 表名;後也會報錯說不存在該錶 ,但是這時候show tables;的時候該錶已經消失了。
2:第二種建立方法,當刪除hive上的表時,hbase上的關聯表沒有受到影響,如果先刪除hbase上的表時,hive上的表也就會不在了。
hive與hbase關聯表
關於 hbase 和 hive 關聯表 詳細介紹 hive 建立 關聯hbase表有2種形式 這種情況是hbase本來沒有這張表。hive建表時建立了hbase表.這種情況下,hdfs的hive表目錄有hive資料夾,但是裡面沒有資料 資料時存在hbase裡面的 hive insert overwr...
hive與hbase資料表關聯
一 簡單介紹 hive的元資料儲存在metastore裡面,真實的資料一般位於hdfs中,可以通過hql來對資料進行分析。hbase中的資料也是存放在hdfs上的,可不可以使用hive來分析hbase中的資料呢?二 hive表到hbase表的對映 2.1hbase表t1的結構和其中的資料如下圖 2....
Hive對接hbase方式之一 建立關聯表
一 hive與hbase版本相容性 hive 1.2.x hbase0.98.x hive 2.x hbase 1.x hive 1.2.x與hbase1.x相容要重新編譯原始碼包hive hbase handler 1.2.1.jar 2 修改許可權為hadoop sudo chown r had...