Sql 创建指向HBase表的外部配置单元表

Sql 创建指向HBase表的外部配置单元表,sql,hadoop,hive,hbase,impala,Sql,Hadoop,Hive,Hbase,Impala,我在HBase中有一个名为“HISTORY”的表,其中包含列族“VDS”和列名行键、ID、开始时间、结束时间、值。我使用的是Cloudera Hadoop发行版。我想使用Impala为HBase表提供SQL接口。为了做到这一点,我们必须在配置单元中创建相应的外部表?那么,如何创建指向此HBase表的外部配置单元表呢 在配置单元查询编辑器中运行以下代码: CREATE EXTERNAL TABLE IF NOT EXISTS HISTORY ( ROWKEY STRING, ID

我在HBase中有一个名为
“HISTORY”
的表,其中包含列族
“VDS”
和列名
行键、ID、开始时间、结束时间、值。
我使用的是Cloudera Hadoop发行版。我想使用Impala为HBase表提供SQL接口。为了做到这一点,我们必须在配置单元中创建相应的外部表?那么,如何创建指向此HBase表的外部配置单元表呢

在配置单元查询编辑器中运行以下代码:

CREATE EXTERNAL TABLE IF NOT EXISTS HISTORY 
(
    ROWKEY STRING,
    ID STRING,
    START_TIME STRING,
    END_TIME STRING,
    VALUE DOUBLE
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES
(
    "hbase.columns.mapping" = ":key,VDS:ID,VDS:START_TIME,VDS:END_TIME,VDS:VALUE"
)
TBLPROPERTIES("hbase.table.name" = "HISTORY");
不要忘记在创建外部表后使用以下bash命令刷新Impala元数据:

echo "INVALIDATE METADATA" | impala-shell;