Каков наилучший способ ETL процесса в AWS? - PullRequest
0 голосов
/ 27 декабря 2018

У меня есть данные в кластере красных смещений, и они обновляются ежедневно.

Я хочу ежедневно запускать код SQL, который будет создавать таблицу в кластере красных смещений.Поэтому мне нужно настроить задание ETL, которое будет выполняться в определенное время, чтобы создать таблицу из кода SQL.

Понятия не имею, как лучше, я новичок в AWS и хорошо знаю SQL.Кто-нибудь может подсказать, как поступить?

1 Ответ

0 голосов
/ 27 декабря 2018

Краткий ответ: может быть много способов сделать то, что вы пытаетесь.

Длинный ответ: Это может быть сделано любым из нижеперечисленныхпути в целом.

  1. Использование любого языка программирования общего назначения (Java, Python, C / C ++,. net и т. д.)
  2. Использование любого готового ETL инструменты (например, Pantaho, клей AWS и т. д.)
  3. Другие способы

Поскольку вы сказали, что вы наивны, я хотел бы объяснить вам простой подход, который я использовал для сложных ETL вмое прошлое (то есть простые сценарии оболочки), хотя подумайте о вашем сценарии использования и сопоставьте его с различными вариантами, которые я предложил, и используйте наиболее подходящий вам.

  1. Создайте сценарии оболочки / пакетной обработки для запуска SQL.
  2. Настройка задания cron для запуска сценария оболочки # 1.

Здесь приведен пример сценария оболочки для начала.Убедитесь, что для запуска команды beow, psql команда должна быть установлена ​​на одном из ваших EC2, откуда вы будете подключены к Redshift

#!/bin/sh
# example comment!
echo "Executing the create sales table"
psql postgresql://username:password@redshift-url:port/databasename?sslmode=require -c 
    "create table sales(    Colunm1 varchar(55),    Colunm2 varchar(255), updated_at timestamp);"
echo "Sales table created."

Это только дает вам некоторые указатели для начала.Существует так много плюсов / минусов каждого подхода, и, как я уже сказал, вы должны взвесить все плюсы / минусы, прежде чем принимать решение о любом подходе.

...