我在hadfs中有如下json。
{"result": [{"sys_tags": {"display_value": "d1", "value": "v1"}, "user_input": {"display_value": "d2", "value": "v2"}}, {"sys_tags": {"display_value": "d1", "value": "v1"}, "user_input": {"display_value": "d2", "value": "v2"}}]}
我想在配置单元中创建一个外部表来分析数据。
我下载了json-serde-1.3.7-jar-with-dependencies.jar并添加到了hiveshell中。这是我运行的查询
CREATE EXTERNAL TABLE t2(result array<STRUCT<sys_tags STRUCT<display_value :STRING, value:STRING>>, STRUCT<user_input STRUCT<display_value :STRING, value:STRING>>>) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' location 'hdfs://localhost:9000/t2';
但它不起作用。有人能帮忙解决这个问题吗?
2条答案
按热度按时间yquaqz181#
有一些不匹配
<
而且失踪了:
在CREATE
声明。尝试,
vs3odd8k2#
它失败是因为json属性没有正确Map,请尝试以下操作: