Airflow Operator 从外部 Rest API 中提取数据

Abh*_*jan 0 python airflow airflow-scheduler apache-airflow-xcom airflow-operator

我正在尝试从外部 API 中提取数据并将其转储到 S3 上。我正在考虑编写 Airflow Operator rest-to-s3.py,它会从外部 Rest API 中提取数据。

我的担忧是:

  1. 这将是一个长时间运行的任务,我如何跟踪失败?
  2. 有没有比编写运算符更好的选择?
  3. 是否建议执行可能运行几个小时的任务并等待它?

我对 Airflow 相当陌生,所以它会有所帮助。

Lio*_*orH 5

  1. 错误 - 使用像气流这样的工具的好处之一是错误跟踪。任何失败的任务都会重新运行(基于配置)将其状态保留在任务历史记录等中。此外,您可以根据任务状态进行分支来决定是否要报告错误,例如发送电子邮件
  2. 运算符听起来像是一个有效的选项,另一个选项是内置的 PythonOperator 并编写一个 python 函数。
  3. 对于任何设计和工具来说,长时间运行的任务都是有问题的。你最好把它分解成小任务(也许并行化它们的执行以减少运行时间?)API 是否需要很长时间来响应?或者你打了很多电话?也许根据生成的 s3 文件进行拆分?即每个文件是不同的 DAG/分支?