我在Hive中创建一个外部表,指向HBase中的一个表,从列族'animal'中选择所有内容,然后在hive中执行SELECT * FROM this_table,它显示如下:
1 {"cat":"10"}
2 {"tiger":"20"}
3 {"dog":"15"}
4 {"bear":"10"}
“cat”是“animal”下的标识符名称,“10”是值。
现在我想查询'cat'的值,我怎么能这样做?
答案 0 :(得分:1)
您的hive和hbase表的架构是什么样的。您需要使用hbase ColumnFamily映射配置单元列:ColumnQualifier。
创建外部表时,您可以指定列映射 -
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");