AWS Glue, фильтрация данных перед загрузкой в ​​фрейм, именование объектов s3 - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть 3 вопроса для следующего контекста: Я пытаюсь перенести свою историю из RDS postgresql в S3. У меня есть около миллиарда строк данных в моей базе данных, Q1) Есть ли способ, чтобы я сказал клеевому заданию aws, какие строки загружать? Например, я хочу загрузить данные с определенной даты? Для источника данных PostgreSQL нет функции закладки,

Q2) Как только мои данные обработаны, задание на клей автоматически создает имя для выходных объектов s3, я знаю, что могу указать путь в записи DynamicFrame, но могу ли я указать имя объекта? если да, то как? Я не могу найти вариант для этого.

В3) Я попробовал свою работу по склеиванию на примере таблицы с 100 строками данных, и она автоматически разделила вывод на 20 файлов по 5 строк в каждом из этих файлов. Как я могу указать размер пакета в задании?

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

1 Ответ

0 голосов
/ 27 апреля 2018
  1. Glue поддерживает предикаты pushdown , однако в настоящее время он работает с секционированными данными только на s3. Тем не менее, существует запрос на поддержку для соединений JDBC.
  2. Невозможно указать имя выходных файлов. Однако, похоже, есть опция с переименованием файлов (обратите внимание, что переименование на s3 означает копирование файла из одного места в другое, поэтому это дорогостоящая и не атомарная операция)
  3. Вы не можете реально контролировать размер выходных файлов. Существует возможность контролировать минимальное количество файлов , используя coalesce. Также начиная с Spark 2.2 есть возможность установить максимальное количество записей на файл, установив config spark.sql.files.maxRecordsPerFile
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...