aws-athena从嵌套的json源中展平数据

fquxozlt  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(390)

我想从athena中嵌套的json创建一个表。这里描述的解决方案使用hiveopenxjsonserde等工具,试图在sql语句中镜像json数据。我只想从json文件中获取一些字段并创建表。我似乎找不到任何关于如何做到这一点的资料。
e、 g.json文件 {"records": [{"a": "data1", "b": "data2", "c": "data3"}]} 我要创建的表只有列 a 以及 b

aij0ehis

aij0ehis1#

我认为您试图实现的是取消数组的测试,将一个数组条目转换为一行。
这可以通过正确查询数据结构来实现。
表定义:

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);

相关问题