Hbase映射hive表
使用HSQL創建一個指向Hbase表的Hive表
兩種創建表方式分別如下:區別,主要看數據在hbase下還是在hive下。
1.如果Hbase表已經存在,可以創建外部表,代碼如下:
Create external table hive_table_name(
key string,
Col_name1 string ,
Col_name2 string
) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = "cf1:Col_name1,cf1:Col_name2")
TBLPROPERTIES("hbase.table.name" = "hbase_table_name");
2.如果Hbase表不存在,可創建內部表,代碼如下:
Create table hive_table_name(
key string,
Col_name1 string ,
Col_name2 string
) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = "cf1:Col_name1,cf1:Col_name2")
TBLPROPERTIES("hbase.table.name" = "hbase_table_name");
注:cf1列簇名稱。
此時創建的爲內部表,刪除hive表會同事刪除hbase映射的表及數據。