В настоящее время я пытаюсь понять, как создать каталог данных нашего озера данных (= Источник).
Фон:
У нас есть событие-управлял архитектурой и начал хранить все события, созданные нашим приложением, в озере данных (S3 Bucket).Перед сохранением событий мы очищаем их (удаляем конфиденциальную информацию) и добавляем конверт вокруг каждого события с некоторыми общими данными:
- источник события (какое приложение генерировало событие)
- событиетип (какое событие было сгенерировано)
- отметка времени (когда было сгенерировано событие)
- ...
С помощью Kinesis Streams и Firehose мы пакетируем этисобытия вместе и сохранить их в виде файла JSON в корзине S3.Контейнер имеет следующую структуру: /////
Там мы храним пакетные события с конвертом в виде файлов JSON.Это означает, что один файл JSON содержит несколько событий:
{
"origin": "hummingbird",
"type": "AuthenticationFailed",
"timestamp": "2019-06-30T18:24:13.868Z",
"correlation_id": "2ff0c077-542d-4307-a58b-d6afe34ba748",
"data": {
...
}
}
{
"origin": "hummingbird",
"type": "PostingCreated",
"timestamp": "2019-06-30T18:24:13.868Z",
"correlation_id": "xxxx",
"data": {
...
}
}
Объект данных содержит конкретные данные о событиях.
Теперь я подумал, что могу использовать AWS Glue для подключения к необработанным данным и использованияETL Jobs для агрегирования данных о событиях.Как я понял, мне нужен каталог данных для моих исходных данных, и вот здесь я борюсь, поскольку JSON всегда содержит разные события, которые объединяются в пакеты.Стандартный "Crawler" не может справиться с этим .. хорошо, но он создает бессмысленные схемы на основе каждого файла JSON.
Чего я хотел достичь:
- Проанализировать озеро данных, чтобы отфильтровать интересующие меня события
- Использовать интересующие меня события и выполнить с ним некоторые преобразования / агрегации / вычисления
- Storeрезультаты в нашу текущую RDS Analytics или где угодно (достаточно для наших целей прямо сейчас)
- Ежедневно анализировать новые события и вставлять / добавлять / обновлять это в нашу аналитику rds
Мои вопросы, которые у меня есть:
- Как лучше всего использовать клей с нашим озером данных?
- Существуют ли возможные способы использования сканеров с пользовательскими классификаторами и каким-либо фильтром вместе с нашим датаком?
- Нужно ли преобразовывать данные еще до того, чтобы реально использовать клей AWS??