【问题标题】:Propagate new version of file(jar/.py) to airflow将新版本的文件(jar/.py)传播到气流
【发布时间】:2020-03-03 09:23:15
【问题描述】:

我是 Airflow 的新手,但我不知道如何正确地将新的 python 脚本或 jar 发布到气流服务器。有问题的部分是 /home/airflow/airflow/dags/scripts/file1.py。如果我创建 file1.py 的新版本,我想在气流服务器上传播这个新版本。简单的解决方案可以通过 FTP

我找到了SFTPOperator,这可能是我在应用程序中的第一步,并获得了我想要的脚本版本。

1) 有没有比 Aiflow 中的单独步骤更好的方法?
2)问题的第二部分是如何处理jar文件。我的解决方案是在某处发布 jar 文件(例如 Nexus 存储库),并在气流中执行单独的步骤来下载我的文件的最新版本。


from airflow import DAG
from airflow.operators import BashOperator,PythonOperator
from datetime import datetime, timedelta

seven_days_ago = datetime.combine(datetime.today() - timedelta(7),
                                  datetime.min.time())

default_args = { ... }

//
f1 = SFTPOperator(...)

dag = DAG('simple', default_args=default_args)
t2 = BashOperator(
task_id='testairflow',
bash_command='python /home/airflow/airflow/dags/scripts/file1.py',
dag=dag)

【问题讨论】:

    标签: python scala airflow versioning


    【解决方案1】:

    我认为您正在查看的是源代码版本控制。您应该将 DAG 视为任何其他代码,并在版本控制系统中对它们进行版本控制,例如混帐。然后,您可以使用任何持续集成工具或 cron 作业来保持 DAGS 同步。

    Airflow 定期刷新 DAGS(默认:30 秒)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-22
      • 2015-02-28
      • 1970-01-01
      • 2020-09-18
      • 2020-12-26
      相关资源
      最近更新 更多