解决什么问题:从“脚本拼凑”到“可控编排”

很多团队的数据处理链条是这样成长的:先用 Python 脚本跑 ETL,业务多了就堆 cron 任务,结果链路断了没人知道、重试靠人工、上下游依赖理不清。这门课聚焦的是 Apache Airflow——一个用代码定义工作流、自带调度与监控的开源平台。它解决的核心痛点是“把离线数据处理流程从散落的手工脚本,变成可版本管理、可重试、可观测的 DAG”。学完这些内容,你应该能回答:为什么单纯靠 Linux crontab 做复杂依赖会失控?Airflow 的 Worker、Scheduler、Webserver 三个角色各自承担什么?以及什么是 XCom,它在任务间传值时有什么边界。

适合什么基础:先补短板再看调度

建议你先确认三件事再进课堂。第一,Python 基础要过关,至少能写函数、处理字典、看懂面向对象的基本用法;Airflow 的 DAG 本质是 Python 代码,语法门槛不高,但调试报错需要能读 traceback。第二,Linux 环境要能独立操作,课程里有 Anaconda/Python3.7 环境安装、配置文件修改、服务启动与日志查看,这些都依赖命令行熟练度。第三,最好对 Hadoop/Spark/Hive 这类数据组件有直观认识,因为后续练习几乎一定会把这些组件作为下游任务调用;如果没接触过,可以先补一段“数据仓库基本链路”的背景阅读。如果你还在纠结“要不要装 Docker 再学”,建议先用单机模式把概念跑通,容器化是后面的工程化话题。

怎么练与练完能做什么

资料包按“原理—搭建—WebUI 与 DAG 参数”的顺序组织,建议先看前三节:什么是 Airflow、架构角色及作用、核心术语,这一步决定你能不能看懂后面所有的报错和配置含义。接着跟着单机搭建章节把本地环境跑起来,别跳过 WebUI 介绍,界面是你以后排查问题的主战场。进入 DAG 编写后,重点练习三种定义方式、task 依赖关系写法、调度触发时间、catchup 参数以及三种调度周期设置,这些是日常最容易踩坑的地方。练习时尽量把“手动触发—查看状态—失败重试—清理 DAG”完整走一遍,而不是只跑成功一次。配套资料里有配置示例和启动命令片段,遇到权限或端口冲突时,优先对照配置章节检查 airflow.cfg 和 users 相关设置。学完后,你应该能独立完成:在单机或节点上部署 Airflow、用 Python 编写包含分支与依赖的数据任务流、配置定时与 catchup 策略、在 WebUI 中排查失败原因并调整重试行为。

课程目录

728.某兵大数据架构师
01.AirFlow分布式任务调度框架-86
章节1-第一章-Airflow架构原理及术语
课时1-01-Airflow任务流调度工具-什么是Airflow.mp4
课时2-02-Airflow任务流调度工具-Airflow架构角色及作用.mp4
课时3-03-Airflow任务流调度工具-Airflow术语.mp4
课时4-04-Airflow任务流调度工具-任务调度原理.mp4
章节2-第二章-Airflow单机搭建及启动
课时1-05-Airflow任务流调度工具-Anconda 及python3.7环境安装.mp4
课时2-06-Airflow任务流调度工具-Airflow单节点安装.mp4
课时3-07-Airflow任务流调度工具-Airflow配置及配置用户.mp4
课时4-08-Airflow任务流调度工具-Airflow启动.mp4
课时5-09-Airflow任务流调度工具-Airflow webui介绍.mp4
章节3-第三章-Airflow WebUI及DAG依赖参数设置
课时1-10-Airflow任务流调度工具-Airflow使用.mp4
课时2-11-Airflow任务流调度工具-Airflow DAG定义三种方式.mp4
课时3-12-Airflow任务流调度工具-Airflow task创建及指定task依赖关系.mp4
课时4-13-Airflow任务流调度工具-Airflow手动、自动调度DAG、删除DAG.mp4
课时5-14-Airflow任务流调度工具-Airflow调度触发时间.mp4
课时6-15-Airflow任务流调度工具-Airflow DAG Catchup参数.mp4
课时7-16-Airflow任务流调度工具-DAG调度周期三种设置方式.mp4
课时8-17-Airflow任务流调度工具-Airflow任务依赖设置.mp4
章节4-第四章-Airflow Operator及案例实战
课时1-18-Airflow任务流调度工具-Airflow BaseOperator参数.mp4
课时2-19-Airflow任务流调度工具-Airflow BashOperator执行shell命令.mp4
课时3-20-Airflow任务流调度工具-Airflow发送邮件配置.mp4
课时4-21-Airflow任务流调度工具-BashOperator执行shell命令测试.mp4
课时5-22-Airflow任务流调度工具-BashOperator执行shell脚本.mp4
课时6-23-Airflow任务流调度工具-SSHOperator参数及依赖安装配置.mp4
课时7-24-Airflow任务流调度工具-SSHOpeator远程执行脚本案例.mp4
课时8-25-Airflow任务流调度工具-HiveOperator使用环境准备.mp4
课时9-26-Airflow任务流调度工具-HiveOperator DAG执行案例.mp4
课时10-27-Airflow任务流调度工具-PythonOperator配置及执行案例.mp4
章节5-第五章-Airflow 分布式集群原理、搭建及HA测试
课时1-28-Airflow任务流调度工具-Airflow分布式集群知识扩展.mp4
课时2-29-Airflow任务流调度工具-Airflow集群搭建环境准备.mp4
课时3-30-Airflow任务流调度工具-Airflow分布式集群搭建.mp4
课时4-31-Airflow任务流调度工具-Airflow集群配置及Scheduler HA 配置.mp4
课时5-32-Airflow任务流调度工具-Airflow集群启动.mp4
课时6-33-Airflow任务流调度工具-Airflow集群HA 测试.mp4
02.Apache Druid分布式数据存储-172
章节1-Apache Druid实时分析型数据库
课时1-什么是Apache Druid.mp4
课时2-Druid优缺点.mp4
课时3-Druid数据结构.mp4
课时4-Druid架构原理.mp4
课时5-四类节点.mp4
课时6-Druid集群搭建介绍.mp4
课时7-Druid集群搭建.mp4
课时8-Druid集群启动.mp4
课时9-使用Imply进行Druid集群搭建说明.mp4
课时10-Druid数据加载-使用webui加载本地数据.mp4
课时11-查询Druid中的数据.mp4
课时12-删除Druid数据,使用post方式加载Kafka数据.mp4
课时13-Druid与HDFS整合.mp4
课时14-流式数据加载.mp4
课时15-Druid JDBC API与Druid数据的全量更新.mp4
课时16-Druid与其他OLAP分析框架对比.mp4
03.ClickHouse 列式数据库-26
章节1-ClickHouse 使用场景、特性与分布式搭建
课时1-批处理与流处理.mp4
课时2-ClickHouse与其特征.mp4
课时3-ClickHouse特性1.mp4
课时4-ClickHouse特性2.mp4
课时5-问题解答.mp4
课时6-ClickHouse安装.mp4
课时7-ClickHouse分布式安装.mp4
章节2-ClickHouse 数据类型详解
课时1-课前回顾.mp4
课时2-ClickHouse命令.mp4
课时3-ClickHouse 数据类型1.mp4
课时4-ClickHouse 数据类型2.mp4
课时5-ClickHouse 数据类型3.mp4
课时6-ClickHouse 数据类型4.mp4
课时7-ClickHouse 数据类型5.mp4
课时8-ClickHouse 数据类型6.mp4
课时9-ClickHouse 数据类型7.mp4
章节3-ClickHouse数据库引擎分类及操作
课时2-Ordinary数据库引擎.mp4
课时3-Mysql数据库引擎.mp4
课时4-Log系列表引擎1.mp4
课时5-Log系列表引擎2.mp4
课时6-Special系列表引擎1.mp4
课时7-Special系列表引擎2.mp4
章节4-ClickHouse 表引擎分类及MergeTree引擎详解
课时2-MargeTree引擎1.mp4
课时3-MargeTree引擎2.mp4
课时4-MargeTree磁盘目录.mp4
课时5-MargeTree分区1.mp4
课时6-MargeTree分区2.mp4
课时7-ClickHouse 使用.mp4
课时8-ClickHouse分区表DDL.mp4
课时9-临时表和视图.mp4
章节5-ClickHouse 视图与SQL语法操作
课时2-视图知识点1.mp4
课时3-视图知识点2.mp4
课时4-ReplacingMergeTree.mp4
课时5-SummingMergeTree.mp4
课时6-AggregatingMergeTree.mp4
课时7-物化视图和MergeTree一起使用.mp4
课时8-疑难解答.mp4
章节6-ClickHouse 6
课时2-ClickHouse数据导入导出.mp4
课时3-CollapsingMergeTree讲解(1).mp4
课时4-CollapsingMergeTree讲解(2).mp4
课时5-CollapsingMergeTree存在的问题.mp4
课时6-VersionedCollapsingMergeTree.mp4
课时7-HDFS引擎.mp4
课时8-Mysql引擎.mp4
课时9-Kafka引擎.mp4
课时10-演示Kafka引擎.mp4
章节7-ClickHouse 7
课时1-问题解决.mp4
课时2-Java操作ClickHouse.mp4
课时3-Spark操作ClickHouse.mp4
课时4-Flink操作ClickHouse(1).mp4
课时5-Flink操作ClickHouse(2).mp4
课时6-Flink操作ClickHouse 1.11版本之后.mp4
课时7-ClickHouse可视化操作.mp4
04.ClickHouse进阶-975
章节1-Clickhouse分布式集群搭建
课时1-Clickhouse内容回顾.mp4
课时2-Clickhouse适用场景及安装包下载.mp4
课时3-Clickhouse分布式集群搭建及注意点.mp4
课时4-Clickhouse启动操作命令及目录解释.mp4
章节2-Clickhouse MergeTree表引擎
课时1-Clickhouse MergeTree引擎数据目录变化.mp4
课时2-Clickhouse一级索引生成与使用.mp4
课时3-Clickhouse二级索引-跳数索引原理及案例.mp4
课时4-Clickhouse 列级别TTL及案例.mp4
课时5-Clickhouse 表级别TTL及案例.mp4
课时6-Clickhouse 副本与分片.mp4
课时7-Clickhouse副本表及实操.mp4
课时8-Clickhouse数据分片及实操.mp4
课时9-Clickhouse Distribute分布式表引擎创建及映射分片表.mp4
课时10-Clickhouse Distribute分布式表分片规则及操作.mp4
章节3-Clickhouse数据查询
课时1-Clickhouse 数据查询数据准备.mp4
课时2-Clickhouse With 子句及使用方式.mp4
课时3-Clickhouse From 子句.mp4
课时4-Clickhouse Sample抽样子句.mp4
课时5-Clickhouse ArrayJoin子句及案例.mp4
课时6-Clickhouse Join 子句连接精度及连接类型.mp4
课时7-Clickhouse使用Join注意事项.mp4
课时8-Clickhouse explain执行计划.mp4
课时9-Clickhouse Where与PreWhere操作.mp4
课时10-Clickhouse Where不自动优化情况.mp4
课时11-Clickhouse group by 修饰符操作.mp4
课时12-Clickhoues Having&order by 查询.mp4
课时13-Clickhouse Limit by子句与Limit子句.mp4
章节4-数据字典
课时1-Clickhouse数据字典介绍.mp4
课时2-Clickhouse字典表创建.mp4
课时3-Clickhouse字典表查询、删除.mp4
课时4-Clickhouse字典类型介绍.mp4
课时5-Clickhouse FLAT 字典类型及案例.mp4
课时6-Clickhouse HASHED字典类型及案例.mp4
课时7-Clickhouse RANGE_HASHED字典类型及案例.mp4
课时8-Clickhouse CACHE字典类型及案例.mp4
课时9-Clickhouse COMPLEX_KEY_HASHED字典类型及案例.mp4
课时10-Clickhouse COMPLEX_KEY_CACHE字典类型及案例.mp4
课时11-Clickhouse IP_TIRE 字典类型及案例.mp4
课时12-Clickhouse 本地数据源映射字典表.mp4
课时13-Clickhouse MySQL表映射字典表.mp4
章节5-MaterializeMySQL物化引擎
课时1-Clickhouse MySQL数据库引擎与MySQL表引擎知识回忆.mp4
课时2-Clickhouse MaterializedMySQL物化引擎介绍.mp4
课时3-Clickhouse MaterializedMySQL物化引擎使用.mp4
课时4-Clickhouse MaterializedMySQL物化引擎使用测试.mp4
章节6-Projection 投影及ClickHouse优化
课时1-Clickhouse Projection 投影.mp4
课时2-Clickhouse Projection 应用及效率测试.mp4
课时3-Clickhouse Projection 支持聚合及总结.mp4
课时4-Clickhouse 优化之表优化.mp4
课时5-Clickhouse 写入查询优化之避免小批量、全列扫描、构建虚拟列查询.mp4
课时6-Clickhouse 写入查询优化之uniqCombined、物化视图、join关联优化.mp4
课时7-Clickhouse 写入查询优化之分布式表global查询.mp4
课时8-Clickhouse 写入查询优化之自己写SQL替换final查询.mp4
章节7-ClickHouse管理与监控
课时1-Clickhouse Profile配置.mp4
课时2-Clickhouse 用户定义操作.mp4
课时3-Clickhouse 权限管理之访问权限配置及测试.mp4
课时4-Clickhouse 权限管理之查询权限配置及测试.mp4
课时5-Clickhouse 权限管理之数据行级权限配置及测试.mp4
课时6-Clickhouse 熔断机制之时间周期累计用量熔断.mp4
课时7-Clickhouse 熔断机制之根据单词查询的用量熔断.mp4
课时8-Clickhouse 数据备份之导出文件备份.mp4
课时9-Clickhouse 数据备份之通过快照表备份.mp4
课时10-Clickhouse 数据备份之分区备份FREEZE方式备份.mp4
课时11-Clickhouse 数据备份之分区备份FETCH方式备份.mp4
课时12-Clickhouse 服务监控.mp4
05.Cloudera Manager 集群平台管理-476
章节1-Cloudera Manager CDN平台01
课时1-大数据集群搭建及管理问题.mp4
课时2-CDH简介.mp4
课时3-安装基础环境(1).mp4
课时4-安装基础环境(2).mp4
课时5-安装基础环境(3).mp4
章节2-Cloudera Manager CDN平台02
课时1-Cloudera Manager安装(1).mp4
课时2-Cloudera Manager安装(2).mp4
课时3-基于CM平台安装CDH(1).mp4
课时4-基于CM平台安装CDH(2).mp4
课时5-基于CM平台安装CDH(3).mp4
章节3-Cloudera Manager CDN平台03
课时1-Hue介绍及安装.mp4
课时2-Hue的使用(1).mp4
课时3-Hue的使用(2).mp4
课时4-impala介绍.mp4
课时5-impala架构.mp4
课时6-impala优劣及与Hive异同.mp4
课时7-impala安装与使用.mp4
课时8-impala Shell命令.mp4
06.Elasticsearch高手进阶篇-933
章节1-课程简介
课时1-01 课程介绍.mp4
章节2-分布式原理
课时1-单机和分布式.mp4
课时2-集群环境选择.mp4
课时3-分布式的重要概念.mp4
课时4-ES的常见模块-1.mp4
课时5-ES的常见模块-2.mp4
课时6-分片的创建策略.mp4
课时7-集群级和索引级配置.mp4
课时8-分片分配感知策略.mp4
课时9-强制感知策略.mp4
课时10-容灾机制.mp4
课时11-选举过程中两个重要角色.mp4
课时12-高可用系统的架构设计.mp4
课时13-Master选举的必要前置认知.mp4
课时14-选举临时ActiveMaster节点.mp4
课时15-选举完成.mp4
课时16-节点失效监测.mp4
课时17-脑裂问题.mp4
章节3-深度分页问题以及解决方案
课时1-什么是深度分页.mp4
课时2-深度分页的危害.mp4
课时3-避免使用深度分页.mp4
课时4-Scroll Search.mp4
课时5-Search After.mp4
课时6-实战环境解决深度分页的思路.mp4
章节4-倒排索引底层原理
课时1-倒排索引的核心原理.mp4
课时2-倒排表的压缩算法-FOR.mp4
课时3-倒排表的压缩算法-RoaringBitmap.mp4
课时4-Trie前缀树原理.mp4
课时5-FST模型的构建原理.mp4
课时6-FST在Luncene中的构建过程和原理-1.mp4
课时7-FST在Lucene中的构建过程和原理-2.mp4
课时8-.tip和.tim文件的内部存储结构.mp4
课时9-FST在源码中的写入和遍历过程.mp4
章节5-高级检索
课时1-多字段检索-1.mp4
课时2-多字段检索-2.mp4
课时3-搜索模板.mp4
课时4-Term Vector.mp4
课时5-高亮查询.mp4
课时6-地理位置检索:两种数据类型.mp4
课时7-地理位置检索 – 基于Geo_Point检索.mp4
课时8-地理位置检索 – 基于Geo_Shape的位置存储.mp4
课时9-地理位置检索 – 基于Geo_Shape检索.mp4
章节6-高级聚合
课时1-正排索引.mp4
课时2-三角选择原则.mp4
课时3-Cardinality.mp4
课时4-深度优先(DFS)和广度优先(BFS).mp4
章节7-相关度评分算法
课时1-相关度评分.mp4
课时2-TF-IDF:Similarity.mp4
课时3-TF-IDF:空间向量模型.mp4
课时4-TF-IDF:评分函数.mp4
课时5-BM25-1.mp4
课时6-BM25-2.mp4
课时7-Shard Local IDF.mp4
课时8-控制评分的几种方式.mp4
章节8-ES并发问题
课时1-ES并发控制.mp4
章节9-ES读写原理及调优
课时1-文档写入流程.mp4
课时2-ES数据写入原理.mp4
课时3-写入调优.mp4
课时4-查询调优.mp4
07.Elasticsearch核心知识篇-412
章节1-简介
课时1-课程介绍.mp4
章节2-环境安装
课时1-安装Elasticsearch.mp4
课时2-安装Kibana.mp4
课时3-安装Elasticsearch-Head插件.mp4
课时4-集群的健康值检查.mp4
课时5-本章小结.mp4
章节3-核心概念
课时1-集群、节点和分片.mp4
课时2-索引和文档的概念.mp4
章节4-索引的CRUD
课时1-索引的CRUD.mp4
章节5-Mapping
课时1-Mapping.mp4
章节6-搜索和查询
课时1-本章内容介绍.mp4
课时2-ES的查询上下文、评分、元数据.mp4
课时3-Query String.mp4
课时4-全文检索:match.mp4
课时5-精准查询:term.mp4
课时6-过滤器:filter.mp4
课时7-组合查询:bool query.mp4
章节7-分词器
课时1-文档正常化:normalization.mp4
课时2-字符过滤器:character filter.mp4
课时3-令牌过滤器:token filter.mp4
课时4-分词器:tokenizer.mp4
课时5-自定义分词器.mp4
课时6-中文分词器.mp4
课时7-基于远程词库的热更新.mp4
课时8-基于MySQL的热更新.mp4
章节8-聚合查询
课时2-三种聚合分类:Bucket、Metrics、Pipeline.mp4
课时3-代码+案例演示三种不同的聚合.mp4
课时4-嵌套聚合:基于聚合结果的聚合.mp4
课时5-基于查询结果的聚合和基于聚合结果的查询.mp4
课时6-聚合排序.mp4
课时7-常用的聚合函数.mp4
章节9-脚本查询
课时2-Scripting基本概念.mp4
课时3-Scripting的CRUD.mp4
课时4-参数化脚本.mp4
课时5-Scripts模板.mp4
课时6-函数式编程.mp4
课时7-本章课程小结及知识点补充.mp4
章节10-索引的批量操作
课时1-基于_mget的批量查询.mp4
课时2-文档的四种操作类型.mp4
课时3-基于_bulk的增删改.mp4
章节11-模糊查询和智能搜索推荐
课时1-关于课程使用ES的版本升级.mp4
课时2-本章内容介绍.mp4
课时3-prefix:前缀搜索.mp4
课时4-wildcard:通配符.mp4
课时5-regexp:正则表达式.mp4
课时6-fuzzy:模糊查询.mp4
课时7-match_phrase_prefix:短语前缀.mp4
课时8-前缀、中缀和后缀搜索的优化方案.mp4
章节12-搜索推荐
课时1-Term Suggester.mp4
课时2-phrase suggester.mp4
课时3-completion suggester.mp4
课时4-context suggester1.mp4
课时5-context suggester 2.mp4
章节13-数据建模
课时1-嵌套类型查询:Nested.mp4
课时2-父子级关系查询:Join.mp4
课时3-Elasticsearch数据建模.mp4
章节14-ES客户端
课时2-Java API和Transport Client.mp4
课时3-基于Java API的CRUD.mp4
课时4-基于Java API的多条件查找.mp4
课时5-基于Java API的聚合查询.mp4
课时6-Java REST Client.mp4
课时7-Java REST Client的基础使用.mp4
课时8-封装RestClient.mp4
课时9-嗅探器:Sniffer.mp4
课时10-总结性学习:使用ESClient处理常用操作.mp4
章节15-Spring Data Elasticsearch
课时1-Spring Data Elasticsearch.mp4
08.Elasticsearch项目实战篇-935
章节1-疫情地图
课时1-项目介绍.mp4
课时2-需求分析.mp4
课时3-索引结构设计.mp4
课时4-功能实现.mp4
章节2-ELK日志系统
课时1-概述.mp4
课时2-Why ELK.mp4
课时3-Logstash介绍.mp4
课时4-Beats介绍.mp4
课时5-Kibana介绍.mp4
课时6-启动Logstash服务.mp4
课时7-为什么要使用标准化输入输出插件.mp4
课时8-部署Filebeat.mp4
课时9-Filebeat+Logstash+ES.mp4
课时10-Multiline messages.mp4
课时11-Filter.mp4
课时12-事件.mp4
课时13-基于Filebeat采集Nginx日志.mp4
课时14-基于Filebeat采集Syslog.mp4
课时15-数据的可视化操作.mp4
09.Elasticsearch运维调优篇-934
章节1-课程介绍
章节2-构建生产集群
课时1-基础环境安装.mp4
课时2-基于2+1部署小规模HA集群.mp4
课时3-部署Kibana.mp4
课时4-冷热集群架构部署.mp4
章节3-索引管理
课时1-常见故障诊断API指令.mp4
课时2-索引压缩.mp4
课时3-索引的常见操作.mp4
课时4-索引别名.mp4
课时5-滚动索引.mp4
课时6-索引模板.mp4
… 共 1229 条