Десериализовать DynamoDB JSON в Hive - PullRequest
0 голосов
/ 07 апреля 2019

Я создал внешнюю таблицу в EMR для поиска данных в DynamoDB через Hive.

Так как в таблице DDB есть поле карты, я отобразил это поле как карту, что привело к отображениювсе записи в формате JSON.

Моя идея состоит в том, чтобы извлечь поле карты из этого JSON с помощью Hive (или другого инструмента, я открыт для любых предложений)

Tried:

- Export the table without column mapping, but json serde did not work.
- Export records to S3 in order to read them through Athena, without success.

DDB JSON

{
    "Status": "{\"s\":\"CREATED\"}",
    "AccountId": "{\"s\":\"fd26cd3a-5575-4dc2-84ae-8aae536810c4\"}",
    "UserName": "{\"s\":\"username\"}",
    "Email": "{\"s\":\"email@gmail.com\"}",
    "UpdatedDate": "{\"s\":\"2018-02-13T20:25:13.940Z\"}",
    "DocumentId": "{\"s\":\"1234567\"}",
    "CreatedDate": "{\"s\":\"2018-02-13T20:25:13.940Z\"}",
    "Metadata": "{\"m\":{}}",
    "PhoneNumber": "{\"s\":\"+1122334455\"}",
    "UserExternalKey": "{\"s\":\"197b7aa7-a4cd-4641-9604-6dfc80bd34a3\"}"
}

Подскажите, пожалуйста, как мне расшифровать поле?

...