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 的初始版本。

此條目是否有幫助?