Как выполнить задание ETL на AWS DyanmoDB для получения CSV-файлов в S3 только на новых данных с помощью AWS Glue - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь перенести данные, хранящиеся в таблице DynamoDB, по рейтингам продуктов, в файл CSV, который может быть обработан моделью рекомендаций, развернутой в AWS Sagemaker.

Я использую клей AWS для преобразованияданные в файл .csv, которые могут быть обработаны моделью ML для обучения, проблема в том, что каждый раз при преобразовании всей таблицы базы данных создаются дублированные данные и снижается скорость обработки.

Я нашел решение для дубликатапроблема с данными при удалении старых объектов s3 перед выполнением задания ETL, но это похоже на временное хакерское исправление.

Я хочу собрать новые данные в таблице dyanmodb.Ежедневно или еженедельно задание ETL собирает новые данные, и, если они были в течение указанного периода, новые данные добавляются в корзину s3 и модель переобучается.

1 Ответ

0 голосов
/ 07 апреля 2019

Если вы беспокоитесь только о новых записях и не беспокоитесь об обновлениях старых записей,

  • Вы можете включить потоки в таблице DynamodB
  • чтобы лямбда-функция прочитала их и добавила новые записи в csv-файл в s3bucket / new / date-file.csv.
  • После каждого ETL переместите файлы в s3bucket / archive / date-file.csv.
...