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