如何使用气流运行现有的Shell脚本?

问题描述 投票:0回答:2

我想使用气流运行一些现有的bash脚本,而不修改脚本本身中的代码。是否可以在任务中不提及脚本中的shell命令?

airflow airflow-scheduler
2个回答
0
投票

不确定是否理解了您的问题,但可以将Shell命令加载到通过管理>>变量菜单将变量作为json文件。然后在您的dag中读取变量并将其作为参数传递给BashOperator。

更详细的气流变量:https://www.applydatascience.com/airflow/airflow-variables/

变量文件示例:https://github.com/tuanavu/airflow-tutorial/blob/v0.7/examples/intro-example/dags/config/example_variables.json

如何读取变量:https://github.com/tuanavu/airflow-tutorial/blob/v0.7/examples/intro-example/dags/example_variables.py

希望这篇文章对您有所帮助。


0
投票

只要外壳程序脚本与Airflow Worker在同一台计算机上运行,​​您就可以使用Bash Operator调用外壳程序脚本,如下所示:

t2 = BashOperator(
    task_id='bash_example',

    # Just call the script
    bash_command="/home/batcher/test.sh ",
    dag=dag)
© www.soinside.com 2019 - 2024. All rights reserved.