拉取docker镜像:
docker pull apache/airflow
启动docker:
docker run -d -p 8080:8080 puckel/docker-airflow
访问地址:http://localhost:8080/login/
进入容器:
docker exec -it containerID /bin/bash
创建账号:
airflow users create \
--username admin \
--firstname Peter \
--lastname Parker \
--role Admin \
--email [email protected]
重启:
ps -ef|egrep 'scheduler|airflow-webserver'|grep -v grep|awk '{print $2}'|xargs kill -9
rm -rf /home/airflow/airflow/airflow-scheduler.pid
airflow webserver -p 8080 -D
airflow scheduler -D
DAG参数:
- dag _id ( str ) – DAG的 id;必须完全由字母数字字符、破折号、圆点和下划线组成(全部为 ASCII)
- description ( str ) – DAG的描述,例如显示在网络服务器上
- schedule_interval(datetime.timedelta或 dateutil.relativedelta.relativedelta或str 充当 cron 表达式)- 定义DAG运行的频率,此 timedelta 对象被添加到最新任务实例的 execution_date 以确定下一个计划
- 时间表(airflow.timetables.base.Timetable)——指定要使用的时间表(在这种情况下,不得设置 schedule_interval)。有关详细信息,请参阅使用时间表自定义DAG调度
- start_date ( datetime.datetime ) – 调度程序尝试回填的时间戳
- end_date ( datetime.datetime ) – DAG将不会运行的日期,保留为 None 以进行开放式调度
- template_searchpath ( str or list [ str ] ) – 这个文件夹列表(非相对)定义了 jinja 将在哪里查找您的模板。订单很重要。请注意,jinja/airflow 默认包含DAG文件的路径
- template_undefined ( jinja2.StrictUndefined ) – 模板未定义类型。
- user_defined_macros ( dict ) – 将在您的 jinja 模板中公开的宏字典。例如,传递
dict(foo='bar')
给此参数允许您在与此DAG相关的所有 jinja 模板中。请注意,您可以在此处传递任何类型的对象。{{ foo }}
- user_defined_filters ( dict ) – 将在您的 jinja 模板中公开的过滤器字典。例如,传递 给此参数允许您在与此DAG相关的所有 jinja 模板中。
dict(hello=lambda name: 'Hello %s' % name)``{{ 'world' | hello }}
- default_args ( dict ) – 初始化运算符时用作构造函数关键字参数的默认参数字典。请注意,运算符具有相同的钩子,并且在此处定义的那些之前,这意味着如果您的 dict 包含'depends_on_past': True here 和'depends_on_past': False在运算符的调用 default_args,实际值将是False。
- params ( dict ) – DAG级别参数的字典,可在模板中访问,命名空间在params下。这些参数可以在任务级别被覆盖。
- max_active_tasks ( int ) – 允许同时运行的任务实例数
- max_active_runs ( int ) – 活动DAG运行的最大数量,超过此数量的 DAG 在运行状态下运行,调度程序将不会创建新的活动 DAG 运行
- dag run_timeout ( datetime.timedelta ) – 指定Dag Run 在超时/失败之前应该运行多长时间,以便可以创建新的 DagRuns。超时仅对计划的 DagRuns 强制执行。
- sla_miss_callback ( callable ) – 指定报告 SLA 超时时要调用的函数。有关传递给回调的函数签名和参数的更多信息,请参阅sla_miss_callback 。
- default_view ( str ) – 指定DAG默认视图(树、图、持续时间、甘特图、着陆时间)、默认树
- 方向( str ) -- 在图形视图中指定DAG方向 (LR, TB, RL, BT),默认 LR
- catchup ( bool ) – 执行调度程序追赶(或仅运行最新)?默认为真
- on_failure_callback ( callable ) – 当这个 dag 的Dag Run 失败时调用的函数。上下文字典作为单个参数传递给此函数。
- on_success_callback ( callable ) -- 很像,
on_failure_callback
只是它在dag成功时执行。 - access_control ( dict ) – 指定可选的DAG级别操作,例如,“{'role1': {'can_read'}, 'role2': {'can_read', 'can_edit'}}”
- is_paused_upon_creation ( bool或None ) – 指定第一次创建dag时是否暂停。如果 dag 已经存在,则此标志将被忽略。如果未指定此可选参数,将使用全局配置设置。
- tags ( List [ str ] ) – 帮助过滤UI 中的DAG的标签列表。
配置airflow中的redis连接(添加额外参数):
You can set your db in the extra field of your connection as ``{"db": 3}``.
Also you can set ssl parameters as:
``{"ssl": true, "ssl_cert_reqs": "require", "ssl_cert_file": "/path/to/cert.pem", etc}``.
标签:airflow,--,DAG,dict,str,镜像,docker
From: https://www.cnblogs.com/wangzhi8/p/16828845.html