0

我在 Hive 中创建了一个指向 HBase 中的表的外部表,从列族“animal”中选择所有内容,然后在 hive 中执行 SELECT * FROM this_table,它向我显示如下:

1   {"cat":"10"}
2   {"tiger":"20"}
3   {"dog":"15"}
4   {"bear":"10"}

“cat”是“animal”下的标识符名称,“10”是值。

现在我想查询'cat'的值,我该怎么做呢?

4

1 回答 1

1

您的 hive 和 hbase 表的架构是什么样的。您需要使用 hbase ColumnFamily:ColumnQualifier 映射 hive 列。

在创建外部表时,您可以像这样指定列映射 -

CREATE EXTERNAL TABLE hive_table (cat String)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = "animal:cat")
TBLPROPERTIES ("hbase.table.name" = "hbase_table");
于 2013-09-20T04:39:22.730 回答