【发布时间】:2019-11-25 02:36:41
【问题描述】:
认为我在这里问不可能的事情,但把它扔在那里。 试图在 Athena 中查询一些 json。 我正在处理的数据看起来像这样(摘录)
condition={
"foranyvalue:stringlike":{"s3:prefix":["lala","hehe"]},
"forallvalues:stringlike":{"s3:prefix":["apples","bananas"]
}
...另外:键名不固定,所以有一天我可能会得到:
condition={"something not seen before":{"surprise":["haha","hoho"]}}
最后一点,我希望将其视为一个数组,并首先将“foranyvalue”和“forallvalues”部分拆分为单独的行。 但由于所有内容都包含在 {} 中,因此它拒绝取消嵌套。
但尽管上述计划失败 - 任何以任何方式解决此问题的提示都非常感激!
谢谢
【问题讨论】:
-
condition是列名吗? JSON 是否始终采用{ "some_key:with_colon": {"some_key": ["array", "of", values"]}, "some_other_key:with_colon" ....}形式?内部{...}是否总是只有 1 个条目? -
Piotr (1)Condition是列名。 (2)"some_key_with_OR_WITHOUT_colon" (3)inner {} 总是 1 个条目 - 谢谢
-
.. 抱歉,“值数组”也可能只是一个普通的单个字符串(没有方 [] 括号)
标签: sql json presto amazon-athena unnest