Как импортировать данные JSON из S3 с помощью AWS Glue? - PullRequest
0 голосов
/ 20 марта 2019

У меня есть целая куча данных в AWS S3, хранящихся в формате JSON.Это выглядит так:

s3://my-bucket/store-1/20190101/sales.json
s3://my-bucket/store-1/20190102/sales.json
s3://my-bucket/store-1/20190103/sales.json
s3://my-bucket/store-1/20190104/sales.json
...
s3://my-bucket/store-2/20190101/sales.json
s3://my-bucket/store-2/20190102/sales.json
s3://my-bucket/store-2/20190103/sales.json
s3://my-bucket/store-2/20190104/sales.json
...

Это все та же схема.Я хочу собрать все эти данные JSON в одну таблицу базы данных.Я не могу найти хороший учебник, который объясняет, как это настроить.

В идеале, я также мог бы выполнять небольшие преобразования "нормализации" также для некоторых столбцов.

Я предполагаюКлей - правильный выбор, но я открыт для других вариантов!

Ответы [ 2 ]

0 голосов
/ 21 марта 2019

Если вам нужно обработать данные с помощью Glue, и нет необходимости регистрировать таблицу в каталоге Glue, тогда нет необходимости запускать Glue Crawler. Вы можете настроить работу и использовать getSourceWithFormat () с опцией recurse , установленной на true и paths, указывающей на корневую папку (в вашем случае это ["s3://my-bucket/"] или * 1008). *). В работе вы также можете применить любые необходимые преобразования , а затем записать результат в другое S3 ведро, реляционную БД или каталог клея .

0 голосов
/ 20 марта 2019

Да, клей - отличный инструмент для этого!

Используйте сканер для создания таблицы в каталоге склеенных данных (не забудьте установить Create a single schema for each S3 path в разделе Группировка для данных S3 при создании сканера) Подробнее об этом здесь

Тогда вы можете использовать relationalize, чтобы сгладить нашу структуру json, подробнее об этом здесь

...