apache-airflow-providers-openlineage

变更日志

2.2.0

新特性

  • 新特性: OpenLineage 监听器中添加对任务手动状态更改通知的支持 (#49040)

  • 新特性: 显式将 Airflow 日志级别传播到 OL 客户端 (#49108)

  • 新特性: airflow facet DAG 对象里添加 owner_links (#49085)

杂项

  • Airflow 2 路径后守卫导入 (#49209)

  • 移除多余的 else (#49199)

  • 日常维护: 更新 OpenLineage 客户端要求到 >=1.31.0 (#49083)

2.1.3

杂项

  • ObjectStoragePath 移动并附加到 Task SDK (#48906)

  • 使 '@task' airflow.sdk 导入 (#48896)

2.1.2

Bug 修复

  • 修复: 调整 Airflow 3 中针对 RuntimeTaskInstance OpenLineage DefaultExtractor (#47673)

  • 停止尝试在 OpenLineage worker 中重新配置 ORM (#47580)

  • 修复: 重新添加在调度器上为 OpenLineage 监听器配置 ORM 的功能 (#48049)

  • 修复: OpenLineage 中移除对 get_inlet_defs get_outlet_defs 的使用 (#48792)

  • Context 中的 datetime 对象转换为 Pendulum 对象 (#48592)

  • 修复: OpenLineage BaseExtractor on_failure 应默认调用 on_complete (#48456)

  • 修复因装饰器移动到标准提供程序而导致的 OL 测试问题 (#48808)

杂项

  • SparkSubmitOperator 添加 OpenLineage 配置注入功能 (#47508)

  • 新特性: dagrun end_date duration 添加到 OL facet (#47901)

  • TaskReschedule 中使用 TaskInstance ID 作为外键 (FK),而非多个字段 (#47459)

  • 序列化复合 transport 中包含的 http transports (#47444)

  • SDK 中实现任务级别的 "on" 回调 (#48002)

  • 在任务运行前计算重试资格 (#47996)

  • task sdk 中实现 triggering_asset_events (#48650)

  • 细微调整: 记录更多关于捕获的 OpenLineage 异常的详细信息 (#48459)

  • openlineage provider 方法添加后向兼容性 (#48406)

2.1.1

Bug 修复

  • 修复: 修复 Airflow 2.9 OpenLineage 数据集时间表序列化问题 (#47150)

杂项

  • 日常维护: 更新 OpenLineage provider.yaml 'execution_timeout' 的描述 (#47448)

  • 移除旧的 'task run' 命令和 LocalTaskJob (#47453)

  • task_sdk 移至独立的 task-sdk 分发包 (#47451)

  • uuid6 移至 openlineage 的开发依赖 (#47464)

  • 撤销从 OpenLineage provider 中移除 'external_trigger' 的操作 (#47383)

  • 实现过时 DAG 捆绑包清理 (#46503)

  • 'external_trigger' 检查替换为 DagRunType (#45961)

  • 运行时上下文不应包含 start_date 作为键 (#46961)

  • flit 升级到 3.11.0 (#46938)

2.1.0

新特性

  • 更改监听器 API,在 TaskSDK 中添加对任务实例监听器的基本支持,使 OpenLineage provider 支持 Airflow 3 的监听器接口 (#45294)

  • 新特性: 为所有 OL 事件添加 ProcessingEngineRunFacet (#46283)

  • 新特性: 自动将 OL transport 信息注入到 spark 作业中 (#45326)

  • 新特性: 为一些 SQL GCS Operator 添加 OpenLineage 支持 (#45242)

  • 新特性: DataprocCreateBatchOperator 中自动将 OL 信息注入到 spark 作业中 (#44612)

Bug 修复

  • 更新 OpenLineage 发射器以处理可为空的 logical_date (#46722)

  • 修复: OL SQL 解析为 sqlalchemy engine 添加 try-except (#46366)

  • OpenLineage: 在完成/失败事件中包含 'AirflowDagRunFacet' (#45615)

杂项

  • openlineage 添加 uuid6 作为依赖项 (#46653)

  • 移除 AirflowContextDeprecationWarning,因为 Airflow 3 的所有上下文都应是干净的 (#46601)

  • 移除 OTel Provoder 中对 Airflow 3 Deprecation Warning 的依赖 (#46600)

  • AIP-72: Secrets Masker 移至 task SDK (#46375)

  • DagRun 模型添加 run_after (#45732)

  • 移除旧的 lineage 相关内容 (#45260)

  • 开始将 mapped task 移植到 SDK (#45627)

  • 日常维护: 更新 OpenLineage provider DatabaseInfo docstring (#45638)

  • 移除可以直接导入的 'typing_compat' 中的类 (#45589)

  • 更新了指向 gcstogcsoperator 404 超链接 (#45311)

  • task sdk 中传递 on_task_instance_failed 的错误 (#46941)

2.0.0

注意

此提供程序版本仅适用于 Airflow 2.9+,具体说明请参阅 Apache Airflow 提供程序支持策略

破坏性变更

警告

所有已弃用的类、参数和特性已从 OpenLineage 提供程序包中移除。引入了以下破坏性变更

  • 工具

    • openlineage.utils 模块中移除了 normalize_sql 函数。

  • 移除 OpenLineage 中的 Provider 弃用项 (#44636)

新特性

  • OpenLineage dagrun 级别事件运行 ID 生成中添加 clear_number (#44617)

  • 利用更多信息确定性地生成 OpenLineage run_id (#43936)

  • 新特性: DataprocSubmitJobOperator 中自动将 OL 信息注入到 spark 作业中 (#44477)

杂项

  • 移除对 AIRFLOW_V_2_9_PLUS 的引用 (#44987)

  • provider 中最低支持的 Airflow 版本提升至 Airflow 2.9.0 (#44956)

  • provider 中检查 Airflow 版本的一致方式 (#44686)

  • OpenLineage 添加基本系统测试 (#43643)

  • Asset 面向用户的组件移至 task_sdk (#43773)

  • 在整个代码库中将 execution_date 重命名为 logical_date (#43902)

1.14.0

新特性

  • DbApiHook, PrestoHook, TrinoHook 添加分号去除支持 (#41916)

  • ProcessingEngineRunFacet 添加到 OL DAG Start 事件 (#43213)

Bug 修复

  • OpenLineage 信息中也为 Airflow 2 序列化 asset/dataset 时间表条件 (#43434)

  • OpenLineage: 实例化 OpenLineageClient 时接受完整的配置 (#43740)

杂项

  • 暂时将 openlineage 限制在 <1.24.0 版本以下 (#43732)

  • python operator 移至 Standard provider (#42081)

1.13.0

新特性

  • 新特性(providers/openlineage): common provider 中使用 asset (#43111)

杂项

  • compat import 忽略 attr-defined (#43301)

  • 细微调整: OL AirflowJobFacet 中移除 taskgroup tooltip (#43152)

  • openlineage provider 需要 1.2.1 版本的 common.compat (#43039)

1.12.2

杂项

  • 更改导入以使用 BashOperator Standard provider (#42252)

  • 核心和 provider 放弃对 python3.8 的支持 (#42766)

  • dataset 相关的 python 变量名重命名为 asset (#41348)

1.12.1

Bug 修复

  • 修复: 修复 OpenLineage dag start 事件未被发送的问题 (#42448)

  • 修复: 修复错误堆栈跟踪格式化中的拼写错误,以获得更清晰的输出 (#42017)

1.12.0

新特性

  • 新特性: 在发送 DagRun 时通知潜在的序列化失败,不序列化不必要的参数,为监听器提供异常防护 (#41690)

Bug 修复

  • 修复: openlineage InfoJsonEncodable 中将列表转换为扁平化字符串 (#41786)

杂项

  • 日常维护: 提升 OL provider 依赖版本 (#42059)

  • OpenLineage provider 中将 execution date 迁移到 dag_run.logical_date (#41889)

  • 统一 DAG schedule 参数并将默认值更改为 None (#41453)

1.11.0

注意

此提供程序版本仅适用于 Airflow 2.8+,具体说明请参阅 Apache Airflow 提供程序支持策略

新特性

  • 新特性: 为所有 OpenLineage 事件添加 debug facet (#41217)

  • 新特性: AirflowRunFacet DAG 信息中添加 fileloc (#41311)

  • 新特性: 移除 OpenLineage 客户端已弃用的 from_environment() 方法 (#41310)

  • 新特性: OpenLineage 监听器捕获 hook 级别的 lineage (#41482)

Bug 修复

  • 修复: 获取任务依赖项而不将任务树序列化为字符串 (#41494)

  • 修复: 修复当 OpenLineage on_start 方法缺失时,返回空数据而非 None (#41268)

  • 修复: dagTree 替换为 downstream_task_ids (#41587)

杂项

  • provider 中最低支持的 Airflow 版本提升至 Airflow 2.8.0 (#41396)

  • 日常维护: 移除 openlineage 的弃用警告 (#41284)

1.10.0

新特性

  • COMPLETE/FAIL 事件中添加 AirflowRun (#40996)

  • openlineage: 扩展 custom_run_facets,使其也在 complete fail 时执行 (#40953)

  • openlineage: OpenLineage provider 迁移到 V2 facets。 (#39530)

  • openlineage: dag runEvents 添加 AirflowRunFacet (#40854)

  • [AIP-62] AIP-60 URI 转换为 OpenLineage (#40173)

  • 能够在 OpenLineage 事件中添加自定义 facet (#38982)

  • openlineage: common.compat 中添加方法,以避免强制 hook 对每个 2.10 hook lineage 调用都使用 try/except (#40812)

  • openlineage: 使用 airflow 从配置提供的 getter (#40790)

  • openlineage: 添加配置以根据配置设置包含 'full' 任务信息 (#40589)

  • TaskInstance log_url 添加到 OpenLineage facet (#40797)

  • openlineage: airflow run facet 的任务信息中添加可延迟信息 (#40682)

Bug 修复

  • 针对 airflow 2.10 修复调整 default extractor on_failure 检测 (#41094)

  • openlineage: 使 attrs.define slots 的值在所有 OL 使用中保持一致 (#40992)

  • 将用于 DagRun facets 'slots' 设置为 True (#40972)

  • openlineage: 修复/添加 AirflowRunFacet 中的一些任务属性 (#40725)

杂项

  • openlineage: dt.now 替换为 airflow.utils.timezone.utcnow (#40887)

  • openlineage: 移除已弃用的 parentRun facet (#40681)

1.9.1

Bug 修复

  • 修复 OpenLineage 解析带 MappedOperator dag 树的问题 (#40621)

1.9.0

新特性

  • 本地任务作业: 添加超时设置,以防止过早终止 on_task_instance_success 监听器 (#39890)

  • openlineage: sql parser 调用点附近添加一些调试日志 (#40200)

  • 将任务 SLA 和排队时间信息添加到 AirflowRunFacet (#40091)

  • 将错误堆栈跟踪添加到 OpenLineage 任务事件 (#39813)

  • 引入 AirflowJobFacet AirflowStateRunFacet (#39520)

  • OpenLineage runIds 使用 UUIDv7 (#39889)

  • openlineage: 在单独的进程中执行提取和消息发送 (#40078)

  • AirflowRunFacet 中添加一些已移除的任务属性 (#40371)

Bug 修复

  • openlineage, redshift: Airflow 2.10 以下版本中不调用 DB 获取 schema (#40197)

  • 修复: 修复 Airflow standalone 上调度器使用 OL provider 时崩溃的问题 (#40459)

  • 细微调整: 修复日志级别 (#40461)

  • 修复: 修复在 OL facet 中以正确的键提供堆栈跟踪的问题 (#40372)

杂项

  • 修复: 修复 airflow providers sqa 弃用问题 (#39293)

  • ruff 中启用强制执行 pydocstyle 规则 D213。 (#40448)

1.8.0

警告

在 Airflow 2.10.0 中,我们修复了 try_number 的工作方式。对于 Airflow >= 2.10.0,请使用 apache-airflow-providers-openlineage >= 1.8.0。较旧的 Airflow 版本不受影响,如果您运行了不兼容的版本,将抛出异常并要求您升级提供程序版本。

新特性

  • 调度器处理 try_number 的递增 (#39336)

Bug 修复

  • 修复: 防止在 extractor 无法导入时出错 (#39736)

  • 在调度器中派生的 OpenLineage 进程中重新配置 ORM。 (#39735)

其他

  • chore: 更新配置检索 docstring 并调整 pool_size (#39721)

  • 移除 Google 和 Snowflake provider 中的 'openlineage.common' 依赖项。 (#39614)

  • 使用 'ProcessPoolExecutor' 而非 'ThreadPoolExecutor'。 (#39235)

  • misc: 添加自定义 provider 运行时检查 (#39609)

  • 更快的 'airflow_version' 导入 (#39552)

  • 简化 'airflow_version' 导入 (#39497)

  • openlineage: 通知已捕获记录的异常 (#39493)

  • chore: 添加更多 OpenLineage 日志以方便调试 (#39136)

1.7.1

其他

  • openlineage, snowflake: 不为 Snowflake 运行外部查询 (#39113)

1.7.0

新特性

  • 添加 lineage_job_namespace 和 lineage_job_name OpenLineage 宏 (#38829)

  • openlineage: 添加“opt-in”选项 (#37725)

错误修复

  • fix: 从 facets 中移除冗余的 operator 信息 (#38264)

  • fix: disabled_for_operators 现在会停止整个事件的发送 (#38033)

  • fix: 在检索 Airflow 配置时添加回退机制以避免引发错误 (#37994)

  • fix: 修复 parent id 宏并移除未使用的 utils (#37877)

其他

  • 避免在测试之外使用 'assert' (#37718)

  • 为 TaskInstance 上的 'task' 添加默认值 / 修复 TaskInstancePydantic 上的 attrs (#37854)

1.6.0

新特性

  • feat: 为 event_size 和 extraction time 添加 OpenLineage 指标 (#37797)

  • feat: 为 File 和 User Airflow 的 lineage entities 添加 OpenLineage 支持 (#37744)

  • [OpenLineage] 添加对 JobTypeJobFacet 属性的支持。 (#37255)

  • chore: 更新 OpenLineage ExtractorManager 中的注释和日志记录 (#37622)

错误修复

  • fix: 在 DefaultExtractor.extract_on_complete 中检查 operator 是否被禁用 (#37392)

其他

  • docs: 更新整个 OpenLineage Provider 文档。 (#37620)

1.5.0

新特性

  • feat: 在为 task instance 生成 OpenLineage run_id 时添加 dag_id。 (#36659)

1.4.0

新特性

  • 添加对 Redshift SQL 的 OpenLineage 支持。 (#35794)

1.3.1

错误修复

  • 修复拼写错误。 (#36362)

1.3.0

新特性

  • feat: 为 COMPLETE 和 FAIL 事件添加 parent_run_id (#36067)

  • 添加基本指标到统计信息收集器。 (#35368)

错误修复

  • fix: 修复 OpenLineage FAIL 事件的 run_id (#36051)

  • 修复并重新应用 provider 文档的模板 (#35686)

其他

  • 移除 ClassVar 注释。 (#36084)

1.2.1

其他

  • 在 'create_filter_clauses' 中将 schema filter 转换为大写 (#35428)

1.2.0

新特性

  • 从 SQL operators 发送列血缘信息。 (#34843)

1.1.1

其他

  • 调整 OpenLineage provider 中的日志级别 (#34801)

1.1.0

新特性

  • 允许在 operator 级别禁用 openlineage (#33685)

错误修复

  • 修复 'get_custom_facets' 中的导入。 (#34122)

其他

  • 将 Airflow provider 中的某些模块导入移入类型检查块,以改进模块导入 (#33754)

  • 添加对 DBT Cloud 的 OpenLineage 支持。 (#33959)

  • 重构 provider 中不必要的跳转  (#33833)

  • 重构: 在 provider 中用 comprehensions 替换 lambdas (#33771)

1.0.2

错误修复

  • openlineage: 不在 executor 中运行 task instance listener (#33366)

  • openlineage: 不尝试从已弃用的配置中屏蔽 Proxy 对象 (#33393)

  • openlineage: 在 listener 中防御性地检查提供的日期时间 (#33343)

其他

  • 添加对 Trino 的 OpenLineage 支持。 (#32910)

  • 简化其他 provider 中关于 len() 的条件 (#33569)

  • 用适当的格式化替换 repr() (#33520)

1.0.1

错误修复

  • openlineage: 如果未配置则禁用运行 listener (#33120)

  • 当没有解析到 schema 时,不使用 database 作为回退。 (#32959)

其他

  • openlineage, bigquery: 为 BigQueryExecuteQueryOperator 添加 openlineage 方法支持 (#31293)

  • 将 openlineage 配置移至 provider (#33124)

1.0.0

provider 的初始版本。

此条目是否有帮助?