在 Hbase Table 之上创建外部 Hive Table 时出错
Getting Error while creating Hive External Table on top of Hbase Table
我正在 Hbase table 之上创建外部配置单元 table,以便我可以使用 Hive 分析数据,但是当我 运行 创建脚本时 table 使用Hbase serde 它抛出错误 'Hbase Table 没有 Exists.Kindly 检查 error.Kindly 指南的附加图像。
'
如果您的 HBase table 是在 特定命名空间 (network_tower) 中创建的,那么您没有提到正确的语法如何访问 table 来自 HBase 中的特定命名空间。
在 tblproperties 中包括 :(冒号) 以从 HBase 命名空间访问 table 而不是 .(period)
TBLPROPERTIES("hbase.table.name" = "network_tower:orders")
示例 HBase-Hive ddl:
CREATE EXTERNAL TABLE test(rowkey string, ...)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:...")
TBLPROPERTIES("hbase.table.name" = "network_tower:orders");
由于您正在创建外部 table,因此 HBase table 需要已经存在,
确保 table 存在于 HBase 中。
bash$ hbase shell
hbase(main):> scan 'network_tower:orders',{LIMIT=>1}
我正在 Hbase table 之上创建外部配置单元 table,以便我可以使用 Hive 分析数据,但是当我 运行 创建脚本时 table 使用Hbase serde 它抛出错误 'Hbase Table 没有 Exists.Kindly 检查 error.Kindly 指南的附加图像。
如果您的 HBase table 是在 特定命名空间 (network_tower) 中创建的,那么您没有提到正确的语法如何访问 table 来自 HBase 中的特定命名空间。
在 tblproperties 中包括 :(冒号) 以从 HBase 命名空间访问 table 而不是 .(period)
TBLPROPERTIES("hbase.table.name" = "network_tower:orders")
示例 HBase-Hive ddl:
CREATE EXTERNAL TABLE test(rowkey string, ...)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:...")
TBLPROPERTIES("hbase.table.name" = "network_tower:orders");
由于您正在创建外部 table,因此 HBase table 需要已经存在,
确保 table 存在于 HBase 中。
bash$ hbase shell
hbase(main):> scan 'network_tower:orders',{LIMIT=>1}