Airflow入门

相关概念

  • 执行器(Executor)
    Airflow本身是一个综合平台,它兼容多种组件,所以在使用的时候有多种方案可以选择。比如最贵案件的执行器有四种选择:

    • SequentialExecutor: 单进程顺序执行任务,默认执行器,通常只用于测试
    • LocalExecutor: 多进程本地执行任务
    • DaskExecutor: 动态任务调度,主要用于数据分析
    • CeleryExecutor: 分布式调度,生产常用
  • 任务处理器
    operator描述了工作流中的一个task,是一个抽象的概念,相当于抽象task定义
    Airflow内置了丰富的任务处理器,用于实现不同类型的任务:

    • BashOperator:执行bash命令
    • PythonOperator:调用python代码
    • EmailOperator: 发送邮件
    • HTTPOperator:发送HTTP请求
    • SqlOperator: 执行SQL命令

    除了这些基础的构建模块外,还有更多的特定处理器:DockerOperator,HiveOperator, S3FileTransferOperator, PrestoToMysqlOperator,SlackOperator

  • 角色

    • webserver: 提供web端服务,以及会定时生成子进程去扫描对应目录下的dags,并更新数据库
    • scheduler: 任务调度服务,根据dags生成任务,并提交到消息中间件队列中(redis或rabbitMq)
    • celery worker: 分布在不同的机器上,作为任务真正的执行节点。通过监听消息中间件redis或者rebbiMq领取任务
    • flower:监控worker进程的存活性,启动或关闭worker进程,查看运行的task

常用管理airflow命令

airflow test dag_id task_id execution_date   测试task

示例: airflow test example_hello_world_dag hello_task 20200226

airflow run dag_id task_id execution_date 运行task

airflow run -A dag_id task_id execution_date 忽略依赖task运行task

airflow trigger_dag dag_id -r RUN_ID -e EXEC_DATE  运行整个dag文件

airflow webserver -D  守护进程运行webserver

airflow scheduler -D  守护进程运行调度

airflow worker -D 守护进程运行celery worker

airflow worker -c 1 -D 守护进程运行celery worker并指定任务并发数为1

airflow pause dag_id  暂停任务

airflow unpause dag_id 取消暂停,等同于在管理界面打开off按钮

airflow list_tasks dag_id 查看task列表

airflow clear dag_id 清空任务实例
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值