使用Amazon Athena创建表和查询json数据?

时间:2017-02-22 09:54:36

标签: sql amazon-web-services amazon-athena

我想使用Amazon Athena查询格式的JSON数据:

[{"id":"0581b7c92be",
  "key":"0581b7c92be",
  "value":{"rev":"1-ceeeecaa040"},
  "doc":{"_id":"0581b7c92be497d19e5ab51e577ada12","_rev":"1ceeeecaa04","node":"belt","DeviceId":"C001"}},
 {"id":"0581b7c92be49",
  "key":"0581b7c92be497d19e5",
  "value":{"rev":"1-ceeeecaa04031842d3ca"},
  "doc":{"_id":"0581b7c92be497","_rev":"1ceeeecaa040318","node":"belt","DeviceId":"C001"}
 }
]

1 个答案:

答案 0 :(得分:4)

Athena DDL基于Hive,所以你会希望你的数组中的每个json对象都在一个单独的行中:

select employename
from your_table
group by employename
having count(distinct deptno) = 1
    and max(deptno) = 2

您可能会遇到嵌套字段(“值”,“doc”)的问题,因此如果您可以展平jsons,您将更容易。 (参见例如:Hive for complex nested Json