【原创】Airflow调用talend
核心原理
因为talend job build出来是一个可直接运行的程序,可以通过shell命名启动job进程,因此可以使用airflow的bashoperator调用生成好的talend job包里面的sh脚本,启动talend job。
设计talend job任务
本例子主要将一批数据同步到mysql表中
导出talend job
将设计好的talend job build到zip包。
定义airflow dag
新建个airflow dag python文件,例如如下脚本,其中job_commd就是我们平时写的调用shell脚本的一个命令。
# -*- coding: utf-8 -*- import airflow from datetime import datetime from datetime import timedelta from airflow.operators.bash_operator import BashOperator from airflow.models import DAG from airflow.utils.email import send_email job_commd = "/softwares/shellscripts/airflow_exec_talend_job_demo/airflow_exec_talend_job_demo/airflow_exec_talend_job_demo_run.sh '/softwares/shellscripts/airflow_exec_talend_job_demo/airflow_exec_talend_job_demo'" default_args = { 'owner': 'airflow', 'depends_on_past': False, 'start_date': datetime(2019, 11, 4), 'email': ['1183744742@qq.com'], 'email_on_failure': True, 'email_on_success': True, 'retries':2, 'retry_delay': timedelta(minutes=1), } dag = DAG( dag_id='airflow_exec_talend_job_demo', default_args=default_args, schedule_interval='0 12 * * *', dagrun_timeout=timedelta(minutes=60), ) t1 = BashOperator( task_id='airflow_talend_demo', bash_command=job_commd, dag=dag ) |
部署调度任务
运行查看是否可以正常入库
如果您觉得此文章对您有帮助,请点击右下方【推荐】让更多人看到,thanks!
作者:DataStrategy
出处:https://www.cnblogs.com/xiongnanbin/
联系:1183744742@qq.com;xiongnanbin@126.com
本文版权归作者和博客园共有(转载的归原作者所有),欢迎转载,但是请在文章页面明显位置给出原文连接。如有问题或建议,请多多留言、赐教,非常感谢。