Инкрементные обновления данных в озере данных S3 - PullRequest
0 голосов
/ 22 октября 2018

Я новичок в AWS и имею опыт работы с хранилищем данных ETL.В настоящее время мы переходим в облако с помощью сервисов AWS Data Lake и пытаемся загрузить данные в целевой слой Amazon s3 (Bucket) из нашей внешней системы RDBMS с помощью заданий sqoop, а затем в разные уровни (Buckets) в Amazon S3 с помощью Informatica BDM.

Периодичность получения данных из внешних источников - ежедневная.Я не уверен, как мы должны реализовать Delta load / SCD Types в S3.Есть ли возможность изменить объект после его создания в корзине Amazon S3 или мы должны продолжать создавать копию ежедневной загрузки как объект в корзине s3?

Я понимаю, что Amazon предоставляет нам параметры базы данных, но мы нацеленызагрузить данные в Amazon S3.

1 Ответ

0 голосов
/ 22 октября 2018

Amazon S3 - это просто система хранения.Он будет хранить любые предоставленные данные.

не можно «обновить» объект в Amazon S3.Объект может быть перезаписан (заменен), но не может быть добавлен.

Традиционно, информация в озерах данных добавляется добавлением дополнительных файлов , таких как ежедневный дамп информации.Системы, которые обрабатывают данные из озера данных, обычно обрабатывают несколько файлов.На самом деле это более эффективный процесс, поскольку данные могут обрабатываться параллельно, а не пытаться прочитать один большой файл.

Итак, ваша система может либо создать новый полный дамп, который заменяет данные, либоможет хранить дополнительные файлы с инкрементными данными.

Другая распространенная практика - это раздел данных, который помещает файлы в разные каталоги, например, в другой каталог на месяц, день или час.Таким образом, когда система обрабатывает данные в озере данных, ей нужно только читать файлы в каталогах, которые, как известно, содержат данные за определенный период времени.Например, если запрос желает обработать данные за определенный месяц, ему нужно только прочитать каталог с данными за этот месяц, тем самым ускорив процесс.(Разделы также могут быть иерархическими, например, иметь каталоги для часа внутри дня внутри месяца.)

Чтобы ответить на ваш вопрос о том, «как мы должны реализовать Delta load / SCD Types в S3», это действительно зависит от как вы будете использовать данные , когда они окажутся в озере данных.Было бы хорошо хранить данные таким образом, чтобы это помогло системе, которая в конечном итоге их использует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...