Airflow 常见问题汇总
1- 中文注释导致dag 不显示

2- task 依赖关系

3- dag 依赖
ExternalTaskSensor

参考以下代码:


# -*- coding: utf-8 -*-
import pendulum
import airflow
from airflow import DAG
from airflow.decorators import task
from airflow.operators.bash import BashOperator
from airflow.operators.python import PythonOperator
from airflow.operators.empty import EmptyOperator
from airflow.sensors.external_task import ExternalTaskSensor
import pandas as pd
from datetime import timedelta
from impala.dbapi import connect
import configparser#-------------------------------------------------------------------------------
# password meta file
ini_path =  "/root/tmp/qiu_tmp/profile_kw.ini"def config_read_ini(db_name):config=configparser.ConfigParser()config.read(ini_path)db_host_o=config.get(db_name,"HOST")db_port_o=config.get(db_name,"PORT")db_user_o=config.get(db_name,"USERNAME")db_pass_o=config.get(db_name,"PASSWORD")db_base_o=config.get(db_name,"DB")db_ini = [db_host_o,db_port_o,db_user_o,db_pass_o,db_base_o]return db_ini# impala host_port_user_password read
impala_ini = config_read_ini("IMPALA")# read meta list
def read_meta_lst(db_nam):meta_sql = f'''select id,table_nam from  bi_ods.dask_bi_meta where  run_flag = 1 and  table_nam like '{db_nam}%' order by  id asc  ; '''                     cursor = connect(host=impala_ini[0],port=impala_ini[1],user=impala_ini[2],password=impala_ini[3],database=impala_ini[4]).cursor()cursor.execute(meta_sql)meta_lst = cursor.fetchall() print(meta_lst)meta_lst = [i[1] for i in meta_lst]cursor.close()  print(meta_lst)    return meta_lstdws_meta_lst = read_meta_lst('bi_data_dws')
ads_meta_lst = read_meta_lst('bi_ads_ads') default_args = {'owner': 'david.qiu','depends_on_past': False,'start_date': pendulum.datetime(2022, 12, 6, 22, tz="Asia/Shanghai"),'email': ['qiuswh@126.com'],'email_on_failure': False,'email_on_retry': False,'retries': 1,'retry_delay': timedelta(minutes=5)
}#-------------------------------------------------------------------------------
with DAG(dag_id="kw_dws_dag",default_args=default_args,description='kw_dws_dag',schedule='11 4 * * *'
) as dag:kw_dwd_dag_check=ExternalTaskSensor(task_id="kw_dwd_dag_check", external_dag_id='kw_dwd_dag',     external_task_id=None, allowed_states=['success'], execution_delta=timedelta(minutes=10))start_task = EmptyOperator(task_id="start")mid_task   = EmptyOperator(task_id="mid_task" )end_task   = EmptyOperator(task_id="end" ) kw_dwd_dag_check >> start_taskfor i in range(len(dws_meta_lst)):dws_meta_lst[i] = BashOperator(task_id=dws_meta_lst[i],depends_on_past=False,bash_command=f'''ssh root@100.0.0.1 "impala-shell -f /root/bi/bi_data/{dws_meta_lst[i]} ;" '''  )start_task >> dws_meta_lst[i] >> mid_task            for j in range(len(ads_meta_lst)):ads_meta_lst[j] = BashOperator(task_id=ads_meta_lst[j],depends_on_past=False,bash_command=f'''ssh root@100.0.0.1 "impala-shell -f /root/bi/bi_ads/{ads_meta_lst[j]} ;" '''  )   mid_task >> ads_meta_lst[j] >> end_taskdws_meta_lst[0] >> dws_meta_lst[2] ads_meta_lst[3] >> ads_meta_lst[0] ads_meta_lst[4] >> ads_meta_lst[1] 

Airflow 常见问题汇总相关推荐

  1. AirFlow常见问题汇总

    airflow常见问题的排查记录如下: 1,airflow怎么批量unpause大量的dag任务 ​ 普通少量任务可以通过命令airflow unpause dag_id命令来启动,或者在web界面点 ...

  2. exec不同文件l怎么汇总_ABAQUS常见问题汇总 - 2.0版.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspC/C++资料 ABAQUS常见问题汇总 - 2.0版.doc1 ...

  3. 使用maven下载依赖包及maven常见问题汇总

    最近下载了SPRING3.1.4,发现只有SPRING相关的源码,没有其依赖的jar包.SPRING依赖的jar相当多,自己一个一个的下载比较费劲,就仔细阅读了SPRING下载说明,新版本的SPRIN ...

  4. java 遇到的问题_Java常见问题汇总(一)

    原标题:Java常见问题汇总(一) 每天在写Java程序,其实里面有一些细节大家可能没怎么注意,这不,有人总结了一个我们编程中常见的问题.虽然一般没有什么大问题,但是最好别这样做.另外这里提到的很多问 ...

  5. 系统部署常见问题汇总

    系统部署常见问题汇总 文章目录 系统部署常见问题汇总 引用文件路径问题 前端代码兼容IE问题 IE不支持Promise问题 IE浏览器GET请求缓存问题 前端代码混淆问题 npx的使用 IE兼容new ...

  6. 集成 jpush-react-native 常见问题汇总 ( iOS 篇)

    给 iOS 应用添加推送功能是一件比较麻烦的事情,本篇文章收集了集成 jpush-react-native 的常见问题,目的是为了帮助用户更好地排查问题 1.收不到推送 确保是在真机上测试,而不是在模 ...

  7. fastText中常见问题汇总

    fastText中常见问题汇总: 1.什么是fastText fastText是一个用于文本分类和词向量表示的库,它能够把文本转化成连续的向量然后用于后续具体的语言任务,目前教程较少! 2.为什么训练 ...

  8. 软考考后常见问题汇总

    摘要:软考考后常见问题汇总,查询成绩.证书领取.考试复核等 一.考试分数线什么时间出?合格分数线会不会有变化? 答:合格分数线出成绩一个月左右,如2020年12月18日出成绩,2021年1月11日出合 ...

  9. oracle 数据库问题,ORACLE数据库常见问题汇总,oracle常见问题汇总

    ORACLE数据库常见问题汇总,oracle常见问题汇总 提交事务的时候提示(数据库被一个用户锁住的解决方法) select object_id,session_id,locked_mode from ...

最新文章

  1. [翻译]Joomla 1.5架构(十一) model 包
  2. 072_Math对象
  3. Nginx+Keepalived实现双机热备
  4. Theano2.1.5-基础知识之打印出theano的图
  5. 学习笔记-AngularJs(四)
  6. CF1042F Leaf Sets (贪心+树上构造)
  7. 哈工大未来计算机院士,2017年中国高校新增工程院院士名单出炉,哈工大依然很强!...
  8. iframe内容适应div大小_使用lt;iframegt;方式在WordPress中插入视频并自适应屏幕尺寸
  9. 虚拟化、云计算、开放源代码及其他
  10. 数字图像处理,中值滤波和均值滤波及其改进算法的C++实现
  11. 谷歌浏览器报错“您的连接不是私密连接攻击者可能会试图从 xxx 窃取您的信息(例如:密码、通讯内容或信用卡信息)“
  12. 芯邦主控的U盘量产教程
  13. 安卓手机卸载手机自带软件(adb)
  14. java excel 饼图_Java 在 Excel 中创建饼图/环形图
  15. 第五天学习--存储结构与磁盘划分
  16. MAC系统下解决Teamviewer 是商业用途只能连5分钟的问题--修改Teamviewer的id
  17. error: resource style/Theme.AppCompat.Light.NoActionBar
  18. Android课程设计:基于离线地图服务器的Android地图应用
  19. Unity之2D摄像机跟随
  20. SSAO By Computer Shader(三)

热门文章

  1. RT-Thread之消息队列
  2. 我们还没有进入元宇宙吗?
  3. JavaScript 正则匹配字符串中 base64 图片
  4. 被邀的击鼓传花游戏, 我点名了哈!
  5. uni app push 点击通知栏 打开app 跳转页面
  6. 小学生如何用计算机写字,用电脑“写字”影响中国学生汉字手书水平
  7. 图像处理——SURF算法
  8. 桥接模式实例与解析 实例一:模拟毛笔
  9. touchEnd 不执行解决办法
  10. 2021年上海市人口分布数据