上次介绍了airflow元数据库表的大致作用,是干什么的,存储了哪些信息,接下来,我们就来一个一个介绍,表里面的字段是什么意思,我们怎么使用。

这是表结构:
| field | type | null | key | default | extra |
|---|---|---|---|---|---|
| id | int(11) | NO | PRI | (NULL) | auto_increment |
| dttm | timestamp(6) | YES | |||
| dag_id | varchar(250) | YES | MUL | ||
| task_id | varchar(250) | YES | |||
| event | varchar(30) | YES | |||
| execution_date | timestamp(6) | YES | |||
| owner | varchar(500) | YES | |||
| extra | text | YES |
下面来一个个字段介绍。
- id:自增主键
- dttm:操作时间
- dag_id:操作的dag_id,有可能为空,因为如果是airflow自动调度,或者是在命令行操作airflow,不针对某个单独的dag时,此字段就是空的;
- task_id:类似dag_id,操作的不是task,那么该字段就是空的;
- event:
| event | description |
|---|---|
| clear | airflow页面上clear dag_run或者clear task,该动作是人为操作 |
| cli_clear | airflow命令方式clear dagrun:airflow clear dag_id -s start_date -e end_date |
| cli_create_user | airflow create_user命令创建用户 |
| cli_flower | airflow flower命令启动flower监控 |
| cli_run | airflow命令run dag |
| cli_scheduler | airflow scheduler命令启动scheduler |
| cli_serve_logs | airflow worker命令启动日志服务 |
| cli_upgradedb | airflow upgradedb命令升级数据库 |
| cli_version | airflow version命令查看版本 |
| cli_webserver | airflow webserver命令启动webserver服务 |
| cli_worker | airflow worker命令启动worker |
| dagrun_success | airflow页面标记dagrun为success的动作,该动作是人为操作 |
| delete | airflow页面删除dag,该动作是人为操作 |
| duration | airflow页面查看task运行时长,该动作是人为操作 |
| extra_links | airflow页面查看task的超链接,该动作是人为操作 |
| failed | airflow页面标记task失败,该动作是人为操作 |
| gantt | airflow页面查看task的甘特图,该动作是人为操作 |
| get_logs_with_metadata | 不知道,应该跟查看日志有关 |
| graph | airflow页面查看graph图,该动作是人为操作 |
| landing_times | airflow页面查看task运行结束时间统计图,该动作是人为操作 |
| log | airflow页面查看日志,该动作是人为操作 |
| paused | airflow页面on/off dag,该动作是人为操作 |
| refresh | airflow页面refresh刷新dag,该动作是人为操作 |
| rendered | airflow页面查看渲染的变量,该动作是人为操作 |
| run | airflow页面run某个task,该动作是人为操作 |
| running | airflow调度task,将task标记为running的动作,该动作是系统操作 |
| success | airflow页面标记task为success的动作,该动作是人为操作 |
| task | 不知道,airflow task,应该是记录的airflow的task |
| tree | airflow页面查看task结构树,该动作是人为操作 |
| tries | airflow页面查看task重试次数,该动作是人为操作 |
| trigger | airflow页面trigger dag任务,该动作是人为操作 |
| xcom | airflow页面查看task push或者pull的变量,xcom的功能后面讲如何使用,作用就是task之间传递数据用的功能。 |
- execution_date:dag的计划执行时间
- owner:操作的airflow用户,如果是命令操作,则是linux用户
- extra:记录的是操作日志的命令信息
总结:
- cli_前缀的event,标识通过命令方式操作airflow;
- 用户在页面的操作,每一个点击都会被记录为日志;
- airflow scheduler worker两个角色也可以认为是用户,也有对dag、task的操作记录;
好了,airflow元数据表log介绍完了。
有什么问题或者疑问,都可以跟我发邮件,欢迎一起讨论。
我会将三年的airflow经验分享出去,主要就是为了记录一下我的知识,并分享给你们。
后面继续介绍airflow元数据库的其他表。
再见。
学无止境。
欢迎关注我的微信公众号,比较喜欢分享知识,也喜欢宠物,所以做了这2个公众号:
喜欢宠物的朋友可以关注:【电巴克宠物Pets】
一起学习,一起进步。
