Оператор воздушного потока для извлечения данных из внешнего API отдыха - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь получить данные из внешнего API и сбросить их на S3. Я думал о том, чтобы написать и Airflow Operator rest-to-s3.py, который будет извлекать данные из внешнего API отдыха.

Мои опасения:

  1. Это будет долго задача, как отслеживать ошибки?
  2. Есть ли лучшая альтернатива, чем написание оператора?
  3. Желательно ли выполнить задачу, которая, вероятно, будет выполняться в течение нескольких часов и ждать на нем?

Я довольно новичок в Airflow, так что это было бы полезно.

1 Ответ

2 голосов
/ 12 марта 2020
  1. Ошибки - одним из преимуществ использования такого инструмента, как поток воздуха, является отслеживание ошибок. Любая сбойная задача, подлежащая повторному запуску (в зависимости от конфигурации), сохранит свое состояние в истории задач и т. Д. c. Кроме того, вы можете выполнить ветвление на основе состояния задачи, чтобы решить, хотите ли вы сообщить об ошибке, например, по электронной почте
  2. Оператор звучит как допустимая опция, другой опцией является встроенный PythonOperator и запись функции python.
  3. Долгосрочные задачи проблематичны c с любым дизайном и инструментом. Вам лучше разбить его на небольшие задачи (и, возможно, распараллелить их выполнение, чтобы сократить время выполнения?) Требуется ли API много времени для ответа? Или вы отправляете много звонков? может быть разделить на основе полученных файлов S3? т.е. каждый файл - это отдельная группа DAG / ветка?
...