Использование AWS для выполнения ETL по запросу

Я хочу выполнить задание ETL по запросу, используя архитектуру AWS.

Этот процесс ETL будет выполняться ежедневно, и я не хочу постоянно платить за инстанс EC2. Это задание ETL может быть написано, например, на Python.

Я знаю, что в EMR я могу построить свой кластер по запросу и выполнить задание HADOOP.

Какая архитектура лучше всего подходит для выполнения простого задания ETL по запросу?


person p.magalhaes    schedule 05.10.2015    source источник
comment
Какой масштаб обработки данных требуется? Например, для небольших объемов вы можете использовать лямбда.   -  person user1452132    schedule 06.10.2015
comment
Это общий вопрос, в котором можно использовать более подробную информацию, чтобы дать лучшее руководство. В общем, вы можете проверить AWS Data Pipeline (например, docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/).   -  person ChristopherB    schedule 06.10.2015


Ответы (4)


Самым простым было бы запустить экземпляр Amazon EC2 и запустить задание ETL как часть Данные пользователя. Сценарий, переданный через данные пользователя, автоматически выполняется при запуске экземпляра.

Если вы хотите проявить творческий подход, вы можете запустить экземпляр, используя спотовую цену. Запускайте с использованием высокой спотовой цены (чтобы обеспечить ее функционирование), но, скорее всего, вам придется заплатить только низкую цену, исходя из текущего спотового рынка.

person John Rotenstein    schedule 06.10.2015
comment
Что насчет данных пользователя ограничено 16 КБ? - person p.magalhaes; 07.10.2015
comment
Сценарий может загрузить код из Amazon S3 или репозитория кода, а затем выполнить код. Этот код может быть другим скриптом или полноценным приложением. Таким образом, они могут быть больше, чем сами данные пользователя. - person John Rotenstein; 08.10.2015

(Я сотрудник Qubole). Если вы собираетесь использовать Hadoop для запуска своих скриптов Python, Qubole управляет кластером за вас. Он запустит ваши кластеры, когда задание будет отправлено, и отключится, когда кластер простаивает в течение длительного времени. Более подробная информация доступна в разделе часто задаваемых вопросов: http://docs.qubole.com/en/latest/faqs/hadoop-clusters/clusters-baught-shutdown.html

person vrajat    schedule 06.10.2015
comment
Я не собираюсь использовать hadoop, в данный момент - person p.magalhaes; 06.10.2015

Теперь вы можете разместить свой скрипт на AWS Lambda для ETL. Он поддерживает планировщик и триггер на других компонентах AWS. Он предоставляется по запросу и будет взимать плату только после выполнения функции Lambda.

person Ye Xu    schedule 22.05.2017

Для задания ETL по запросу вы можете использовать AWS Lambda для запуска лямбда-функции, которая будет содержать код запуска для вашего задания ETL. AWS Lambda можно запустить через другие сервисы AWS, такие как: S3, CloudWatch (запуск в указанное время), SNS и т. Д.

    You can use boto3 (http://boto3.readthedocs.io/en/latest/) SDK if you are planning to use python based AWS Lambda function to access the AWS services which also include AWS Glue.
person Basanta    schedule 21.02.2018