我想从雅典娜的嵌套json创建一张桌子。此处描述的解决方案使用Hive OpenX-JSonserde之类的工具试图在SQL语句中镜像JSON数据。我只想从JSON文件中获取一些字段并创建表。我似乎找不到有关如何做到这一点的资源。
例如。JSON文件{"records": [{"a": "data1", "b": "data2", "c": "data3"}]}
我只想创建的表格只有列a
和b
我认为您要实现的目标是不努力地将一个数组输入转换为一行。
通过正确查询数据结构是可能的。
表定义:
CREATE external TABLE complex (
records array<struct<a:string,b:string>>
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION 's3://bucket/test1/';
查询:
select record.a,record.b from complex
cross join UNNEST(complex.records) as t1(record);