创建外部 Hive Table 指向 HBase Table
Create External Hive Table Pointing to HBase Table
我在 HBase 中有一个名为 "HISTORY"
的 table,它具有列族 "VDS"
和列名称 ROWKEY, ID, START_TIME, END_TIME, VALUE.
我正在使用 Cloudera Hadoop Distribution。我想使用 Impala 为 HBase table 提供 SQL 接口。为了做到这一点,我们必须在 Hive 中创建相应的外部 Table?那么如何创建指向此 HBase table 的外部配置单元 table?
运行 Hive 查询编辑器中的以下代码:
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 命令创建外部 Table 后刷新 Impala 元数据:
echo "INVALIDATE METADATA" | impala-shell;
我在 HBase 中有一个名为 "HISTORY"
的 table,它具有列族 "VDS"
和列名称 ROWKEY, ID, START_TIME, END_TIME, VALUE.
我正在使用 Cloudera Hadoop Distribution。我想使用 Impala 为 HBase table 提供 SQL 接口。为了做到这一点,我们必须在 Hive 中创建相应的外部 Table?那么如何创建指向此 HBase table 的外部配置单元 table?
运行 Hive 查询编辑器中的以下代码:
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 命令创建外部 Table 后刷新 Impala 元数据:
echo "INVALIDATE METADATA" | impala-shell;