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

Инкрементное обновление корзин S3 без естественных ключей

Мне нужно спроектировать поток etl.OLTP-системы обмениваются данными о клиентах, продуктах, кампаниях и продажах через файлы.Я хочу передавать эти файлы постепенно в ведра Aws S3.

Предположим, я хочу перенести файл клиента в соответствующее хранилище AWS S3.Файл клиента содержит идентификатор клиента.Это поле PII (личная информация).

В фазе массовой (начальной) загрузки, во-первых, я сгенерирую новое поле CUSTOMER_SK, которое сопоставляется с идентификатором клиента.Затем мне нужно заменить идентификатор клиента на customer_sk.
Например,мой идентификатор клиента 9887345, я сгенерировал номер: 93453423 Мне нужно заменить значение идентификатора клиента 9887345 новым значением: 93453423 Наконец, я могу скопировать файл в корзину AWS S3.Я заменил идентификатор клиента на customer_sk.Поэтому корзины AWS S3 не содержат данных PII.

В ежедневной загрузке etl. Если клиент является новым клиентом, я могу вставить его в AWS S3.Если клиент является существующим клиентом, напр.Клиент изменил свое поле года рождения.Вероятно, он / она исправил поле года рождения, поэтому мне нужно обновить соответствующую запись в корзине AWS S3.Однако корзина AWS S3 не включает поле customer_id.И система OLTP не знает поля customer_sk.Поэтому мне нужно поменять значение customer_id на значение customer_sk.Теперь я могу скопировать файл в AWS S3.

Подразделение безопасности, из-за правил, не позволяет нам предоставлять данные PII (личную информацию) бизнес-подразделениям в среде Aws.

Мы можем передавать весь файл, в ежедневные и т. Д. Работы.Передача файлов занимает много времени, поэтому передача всех исторических данных на S3 невозможна.

Как я могу реализовать этот сценарий?Нужно ли запускать задания etl как на локальном, так и на AWS S3?Я хочу построить и т. Д. Поток на AWS.Мне просто нужно поменять местами поля id.Я не хочу строить работу etl на предпосылке, просто для обмена местами.Потому что я не хочу поддерживать рабочие места в обеих системах.

Заранее спасибо

...