Создать таблицу и запросить данные json с помощью Amazon Athena?

Я хочу запросить данные формата JSON с помощью Amazon Athena:

[{"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"}
 }
]

person rajeswari    schedule 22.02.2017    source источник


Ответы (1)


Athena DDL основан на Hive, поэтому вам нужно, чтобы каждый объект 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"} }

У вас могут возникнуть проблемы с вложенными полями ("value", "doc"), поэтому, если вы сможете сгладить jsons, вам будет проще. (см., например: Hive для сложного вложенного Json)

person belostoky    schedule 22.02.2017
comment
я хочу, как создать таблицу и выбрать операцию для запроса нескольких строк данных. - person rajeswari; 07.03.2017
comment
i want how to create table and select operation to query multiple lines of data.ex:[{ _id: 0899f824e118d390f57bc2f279bd38fe, _rev: 1-81cc25723e02f50cb6fef7ce0b0f4f38, deviceId: BELT001, locationId: LID001, SuperviceId: SID001 }, { _id: 0899f824e118d390f57bc2f279bd38fe, _rev: 1-81cc25723e02f50cb6fef7ce0b0f4f38, deviceId: BELT001, locationId: LID001, SuperviceId: SID001 }] - person rajeswari; 07.03.2017
comment
Я хочу сказать, что прежде чем я смогу вам помочь, проверьте, можете ли вы разбить свой массив json на строки отдельных объектов json. преобразовать ваш пример в: - person belostoky; 07.03.2017
comment
{_id: 0899f824e118d390f57bc2f279bd38fe, _rev: 1-81cc25723e02f50cb6fef7ce0b0f4f38, deviceId: BELT001, locationId: LID001, SuperviceId: SID001} {_id: 0899f824e118d390f57bc2f279bd38fe, _rev: 1-81cc25723e02f50cb6fef7ce0b0f4f38, deviceId: BELT001, locationId: LID001, SuperviceId: SID001} - person belostoky; 07.03.2017
comment
Спасибо за решение. Я могу запросить данные у Афины. - person rajeswari; 08.03.2017