在查询athena时将结构转换为json
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在查询athena时将结构转换为json相关的知识,希望对你有一定的参考价值。
我有一个athena表,我没有创建或管理,但可以查询。其中一个字段是结构类型。为了这个例子,让我们假设它看起来像这样:
my_field struct<a:string,
b:string,
c:struct<d:string,e:string>
>
现在,我知道如何查询此结构中的特定字段。但在我的一个查询中,我需要提取完整的结构。所以我只是用:
select my_field from my_table
结果看起来像一个字符串:
{a=aaa, b=bbb, c={d=ddd, e=eee}}
我想将结果作为json字符串:
{"a":"aaa", "b":"bbb","c":{"d":"ddd", "e":"eee"}}
然后这个字符串将由另一个应用程序处理,这就是为什么我需要它以json格式。
我怎样才能做到这一点?
编辑:更好的是,有没有办法以一种扁平化的方式查询结构?所以结果看起来像:
a | b | c.d | c.e |
-------------------------------
aaa | bbb | ddd | eee |
答案
您可以使用parent_field.child_field
表示法直接引用嵌套字段。尝试:
SELECT
my_field,
my_field.a,
my_field.b,
my_field.c.d,
my_field.c.e
FROM
my_table
以上是关于在查询athena时将结构转换为json的主要内容,如果未能解决你的问题,请参考以下文章
如何将我的 Bigquery 查询转换为 AWS Athena 查询?
aws athena - 转换为 json 不返回 json 对象