Apache Airflow 2.3.0发布了! 它是一个工作流编排器,用于构建数据管道并按计划运行它们。
- 这是自2.0.0以来最大的Apache Airflow版本。
- 自2.2以来有700多个提交,包括50个新功能,99个改进,85个错误修复
以下是最大的和值得注意的变化:
- Dynamic Task Mapping:允许工作流在运行时根据当前数据创建一些任务,而不是让DAG作者事先知道需要多少任务。
- 网格视图取代了树形视图:显示运行和任务,但将依赖关系线留给图形视图,并更好地处理任务组!
为DAG版本管理铺平了道路--可以轻松显示版本,这在树状视图中是无法处理的!
- 新的 "airflow db clean "CLI命令用于清除旧记录:这将有助于减少运行DB迁移的时间(当更新Airflow版本时);
不需要再使用维护DAG了!
- 对数据库降级的一流支持 - `airflow db downgrade`命令:你可以降级到一个特定的Airflow版本或一个特定的Alembic版本ID。
包括一个"--show-sql-only "来输出所有的SQL,这样你就可以自己运行它了。
- 新的执行器:LocalKubernetesExecutor:它提供了使用LocalExecutor或KubernetesExecutor运行任务的能力,前者在调度器服务中运行任务,后者则在kubernetes上运行每个任务,在Kubernetes集群上根据任务的队列在自己的pod中运行。
- DagProcessorManager现在可以作为独立的进程运行。
由于它运行的是用户代码,因此将其与调度器进程分开,作为独立进程在不同的主机上运行是一个好主意。
用 "airflow dag-processor "CLI命令运行它
- 以本地JSON格式创建连接--不需要弄清楚URI格式
- 还有一个新的 "SmoothOperator" -- 这是一个惊喜! 这是一个非常强大的功能。- "from airflow.operators.smooth import SmoothOperator"
- 决了所有的已知安全问题
Airflow 最常见的是是传统数据领域的ETL/ELT,您可以从 API、FTP 服务器或云存储桶(GCS 或 S3)中提取数据;将数据加载到 Bigquery 或 Redshift 之类的数据仓库并在那里转换数据。
要按固定时间表完成所有这些工作,可以使用 Airflow 等工作流编排工具来告诉这些服务运行。
在这些失败的情况下,Airflow 可以发送电子邮件来通知用户。