Python - Dynami c Отчеты - из входных данных s3 и Redshift - PullRequest
0 голосов
/ 07 апреля 2020

Необходимо создать отчет на основе данных в s3 и Redshift. Данные в s3 и Redshift необходимо объединить, агрегировать, перед созданием отчета в формате csv выполняется несколько различных вычислений (любой формат должен быть в порядке)

Подробности:

  1. s3
    • 3 разных входных файла в s3
    • В каждом прогоне количество столбцов может варьироваться в каждом файле s3, т. Е. Столбцы объединения / группирования остаются одинаковыми, но количество агрегированных столбцов может меняться при каждом запуске
    • В файле конфигурации есть все переменные, присутствующие в каждом файле s3
  2. Redshift
    • 4 разных таблицы ввода
    • структура остается прежней
  3. Объем данных - очень маленький, в ГБ, ~ 40K записей
  4. Поскольку число полей во входном s3 может изменяться при каждом запуске Мне нужно динамически сгенерировать SQL (код)

Запрос:

Поскольку число полей во входном файле s3 может различаться в каждом выполнить, я планирую реализовать конвейер в Python (или PySpark) и не в SQL. Основываясь на немногих результатах анализа, pandas в python может читать из Redshift как информационный кадр, а также может читать из s3.

  1. Может ли это быть обработано в PySpark (планируется использовать Python для динамического выбора столбца c и Spark для SQL)
  2. Есть ли лучший подход в Python чтобы решить проблему, скажем, используя Pandas?

Я довольно новичок в Python, любые указатели / указания были бы очень полезны, так что я могу углубиться дальше. Спасибо.

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