airflow连接mysql错误_Airflow 安装总结(4)-DAG实例(执行MySql存储过程)

DAG样例(执行MySql存储过程)

Airflow通过MySqlOperator执行sql语句,项目中需要执行带参数的存储过程,具体的DAG样例如下:

from airflow import DAG

from airflow.operators import BashOperator, DummyOperator,MySqlOperator

from airflow.models import DAG

from datetime import datetime, timedelta

# 定义一些时间参数

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

one_day_ago = datetime.combine(datetime.today() - timedelta(1), datetime.min.time())

deal_date = datetime.strftime(datetime.combine(datetime.today() - timedelta(1), datetime.min.time()), '%Y%m%d')

default_args = {

'owner': 'airflow',

'depends_on_past': False,

'start_date': datetime(2016, 3, 15),

'email': ['airflow@airflow.com'],

'email_on_failure': False,

'email_on_retry': False,

'retries': 1,

'retry_delay': timedelta(minutes=5),

# 'queue': 'bash_queue',

# 'pool': 'backfill',

# 'priority_weight': 10,

# 'schedule_interval': timedelta(1),

# 'end_date': datetime(2016, 1, 1),

}

dag = DAG('dwd_rpt_m', default_args=default_args, schedule_interval='0 3 * * *')

# MySqlOperator

sql1 = ["set @v_txdate = %s" %deal_date,

"set @v_retcode = 0",

"call dw_dev.p_test_1(@v_txdate, @v_retcode)"

]

# guoshu_dev 需要在WebUi中设置变量

t1 = MySqlOperator(

mysql_conn_id='dev',

sql = sql1,

task_id='p_test_1',

dag=dag)

sql2 = ["set @v_txdate = %s" %deal_date,

"set @v_retcode = 0",

"call dw_dev.p_test_2(@v_txdate, @v_retcode)"

]

t2 = MySqlOperator(

mysql_conn_id='dev',

sql = sql2,

task_id='p_test_2',

dag=dag)

t2.set_upstream(t1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值