start_date=days_ago(2),
schedule_interval="@daily",
tags=['example', 'example2'],
) as dag:
```
+ **方式二:datetime.timedelta对象**
```
timedelta(minutes=1)
timedelta(hours=3)
timedelta(days=1)
```
```
with DAG(
dag_id='latest\_only',
schedule_interval=dt.timedelta(hours=4),
start_date=days_ago(2),
tags=['example2', 'example3'],
) as dag:
```
+ **方式三:Crontab表达式**
- 与Linux Crontab用法一致
```
with DAG(
dag_id='example\_branch\_dop\_operator\_v3',
schedule_interval='\*/1 \* \* \* \*',
start_date=days_ago(2),
default_args=args,
tags=['example'],
) as dag:
```
```
分钟 小时 日 月 周
00 00 * * *
05 12 1 * *
30 8 * * 4
```
-
小结
- 掌握定时调度的使用方式
13:Airflow常用命令
-
目标:了解AirFlow的常用命令
-
实施
- 列举当前所有的dag
airflow dags list
- 暂停某个DAG
airflow dags pause dag_name
- 启动某个DAG
airflow dags unpause dag_name
- 删除某个DAG
airflow dags delete dag_name
- 执行某个DAG
airflow dags trigger dag_name
- 查看某个DAG的状态
airflow dags state dag_name
- 列举某个DAG的所有Task
airflow tasks list dag_name
-
小结
- 了解AirFlow的常用命令
14:邮件告警使用
-
目标:了解AirFlow中如何实现邮件告警
-
路径
- step1:AirFlow配置
- step2:DAG配置
-
实施
-
原理:自动发送邮件的原理:邮件第三方服务
- 发送方账号:配置文件中配置
smtp_user = 12345678910@163.com # 秘钥id:需要自己在第三方后台生成 smtp_password = 自己生成的秘钥 # 端口 smtp_port = 25 # 发送邮件的邮箱 smtp_mail_from = 12345678910@163.com
- 接收方账号:程序中配置
default_args = { 'owner': 'airflow', 'email': ['jiangzonghai@itcast.cn'], 'email_on_failure': True, 'email_on_retry': True, 'retries': 1, 'retry_delay': timedelta(minutes=1), }
-
AirFlow配置:airflow.cfg
# 发送邮件的代理服务器地址及认证:每个公司都不一样 smtp_host = smtp.163.com smtp_starttls = True smtp_ssl = False # 发送邮件的账号 smtp_user = 12345678910@163.com # 秘钥id:需要自己在第三方后台生成 smtp_password = 自己生成的秘钥 # 端口 smtp_port = 25 # 发送邮件的邮箱 smtp_mail_from = 12345678910@163.com # 超时时间 smtp_timeout = 30 # 重试次数 smtp_retry_limit = 5
- 关闭Airflow
# 统一杀掉airflow的相关服务进程命令 ps -ef|egrep 'scheduler|flower|worker|airflow-webserver'|grep -v grep|awk '{print $2}'|xargs kill -9 # 下一次启动之前 rm -f /root/airflow/airflow-*
- 程序配置
default_args = { 'email': ['jiangzonghai@itcast.cn'], 'email\_on\_failure': True, 'email\_on\_retry': True }
- 启动Airflow
airflow webserver -D airflow scheduler -D airflow celery flower -D airflow celery worker -D
- 模拟错误
-
-
小结
- 了解AirFlow中如何实现邮件告警
15:一站制造中的调度
-
目标:了解一站制造中调度的实现
-
实施
- ODS层 / DWD层:定时调度:每天00:05开始运行
- dws(11)
- dws耗时1小时
- 从凌晨1点30分开始执行
- dwb(16)
- dwb耗时1.5小时
- 从凌晨3点开始执行
- st(10)
- st耗时1小时
- 从凌晨4点30分开始执行
- dm(1)
- dm耗时0.5小时
- 从凌晨5点30分开始执行
-
小结
- 了解一站制造中调度的实现
16:回顾:Spark核心概念
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
75)]
[外链图片转存中…(img-xlbbkgqS-1714185177475)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新