Q: AWS DynamoDB к S3 [конвейер] - PullRequest
0 голосов
/ 07 марта 2020

Цель, которую я хочу достичь sh, - создать файл таблицы, чтобы впоследствии его можно было проверить на данные (ежемесячные расчеты). На данный момент я создал резервную копию с использованием опции PipeLine из DynamoDB в корзину S3, но:

  • Это занимает слишком много времени, так как конвейер работает более 24 часов с момента таблица, которую я экспортирую, имеет размер 7 ГБ в формате DynamoDB (который сжимается, и для завершения sh с резервным копированием потребуется еще больше времени;
  • Мне нужно будет делать это ежемесячно, что означает, что я буду нужны только данные между первым и последним днем ​​месяца, в то время как PIPELINE может создать резервную копию. Я не смог найти вариант, чтобы сделать так, чтобы экспортировались только изменения в таблице из указанных c временных шкал;
  • Файлы, которые экспортирует конвейер, имеют размер около 10 МБ каждый, что означает сотни файлов вместо пары (например, 100 МБ файлов или 1 ГБ файлов).

В этом случае я Интересно, есть ли другой способ, которым я могу сделать полную резервную копию текущей информации и затем делать месяц за месяцем изменения, которые были выполнены (что-то как ежемесячный прирост) и не иметь миллионов файлов размером 10 МБ.

Любые комментарии, разъяснения, примеры кода, исправления приветствуются.

Спасибо за ваше время.

1 Ответ

0 голосов
/ 07 марта 2020

У вас есть, в основном, два варианта:

  1. Реализация собственных логов c от DynamoDB Steams и обработка ваших данных по вашим собственным логи * c
  2. Использовать комбинацию в AWS Клей для обработки ETL и, возможно, AWS Athena для запроса ваших данных с S3. Будьте внимательны и используйте формат Apache Parquet для повышения производительности запросов и кэширования результатов в другом месте
...