我使用apachedrill在hbase表上运行sql查询。其中一列中的值为:
0: jdbc:drill:schema:hbase:zk=localhost> select cast(address['street'] as varchar(20)) from hbase.students;
+------------+
| EXPR$0 |
+------------+
| {"id": 123} |
+------------+
1 row selected (0.507 seconds)
我想进入 id
使用查询的字段。比如:
0: jdbc:drill:schema:hbase:zk=localhost> select tbl.address['street']['id'] from hbase.students as tbl;
+------------+
| EXPR$0 |
+------------+
| null |
+------------+
如你所见,这是行不通的。我在一个文件中遇到了类似的关于json数据的查询。我的问题是我能否在hbase中查询json数据。
2条答案
按热度按时间svujldwt1#
好 啊。我找到了这个问题的答案,以防别人有同样的要求。
第一步是使用内置的convert\u from()函数将hbase数据转换为json。可以创建一个视图来运行查询。
然后,对视图运行查询
ejk8hzay2#
您还可以使用子查询将hbase列中的数据转换为json: