部落格 & 發佈
2021/10/07
Apache Beam 2.33.0
我們很高興推出 Beam 的新版本 2.33.0。此版本包含改進和新功能。請參閱此版本的下載頁面。
如需更多關於 2.33.0 版本變更的資訊,請查看詳細發行說明。
重點
- Go SDK 不再是實驗性的,並且正式成為 Beam 發佈流程的一部分。
- 匹配的 Go SDK 容器會在發佈時發佈。
- 批次使用受到良好支援,並在 Flink、Spark 和 Python Portable Runner 上進行了測試。
- SDK 測試也會針對 Google Cloud Dataflow 執行,但這並不表示相互支援。
- SDK 支援可分割的 DoFn、跨語言轉換和大多數 Beam 模型基礎知識。
- Go Modules 現在用於依賴管理。
- 這是一個重大變更,請參閱「重大變更」以了解解決方案。
- 更容易為 Go SDK 做出貢獻,無需設定 GO_PATH。
- 最低 Go 版本現在為 Go v1.16
- 完整資訊請參閱發佈後的新聞稿部落格文章。
新功能/改進
- SchemaIO 中的投影下推 (BEAM-12609)。
- 將 Flink 執行器升級到 Flink 版本 1.13.2、1.12.5 和 1.11.4 (BEAM-10955)。
重大變更
- 自 2.30.0 版本起,「BEAM-2303 的 AvroCoder 變更 [將] 讀取器/寫入器從 Avro ReflectDatum* 類別變更為 SpecificDatum* 類別」(Java)。此預設行為變更已在此版本中還原。請使用
useReflectApi
設定來控制它 (BEAM-12628)。
棄用
- Python GBK 將在 Beam 2.34 中停止支援具有全域視窗和預設觸發器的無界 PCollection。這可以使用
--allow_unsafe_triggers
覆寫。 (BEAM-9487)。 - Python GBK 將從 Beam 2.34 開始要求安全觸發器或
--allow_unsafe_triggers
旗標。 (BEAM-9487)。
錯誤修正
- 從 BigQuery 表格讀取並將 TableRow 轉換為 Beam Row 時發生 UnsupportedOperationException (Java) (BEAM-12479)。
- 與 BoundedSource 的原始行為相比,SDFBoundedSourceReader 的行為慢得多 (Python) (BEAM-12781)。
- SELECT 中不存在 ORDER BY 資料行導致當機 (ZetaSQL) (BEAM-12759)。
已知問題
- Spark 2.x 使用者需要將 Spark 的 Jackson 執行階段依賴項 (
spark.jackson.version
) 更新至至少 2.9.2 版本,因為 Beam 更新了其依賴項。 - 請參閱影響此版本的未解決問題的完整清單。
- Go SDK 工作可能會在成功執行工作後產生「無法從 MonitoringInfo 推斷步驟」訊息。這些訊息是良性的,並不表示工作失敗。這是因為尚未處理 PCollection 指標。
- 使用 FILE_LOADS 方法的大型 Java BigQueryIO 寫入在批次模式下將會失敗 (特別是當使用複製工作時)。這會導致錯誤訊息:
IllegalArgumentException: Attempting to access unknown side input
。請升級到較新版本 (> 2.34.0) 或使用其他寫入方法 (例如STORAGE_WRITE_API
)。
貢獻者清單
根據 git shortlog,以下人員為 2.33.0 版本做出了貢獻。感謝所有貢獻者!
Ahmet Altay, Alex Amato, Alexey Romanenko, Andreas Bergmeier, Andres Rodriguez, Andrew Pilloud, Andy Xu, Ankur Goenka, anthonyqzhu, Benjamin Gonzalez, Bhupinder Sindhwani, Chamikara Jayalath, Claire McGinty, Daniel Mateus Pires, Daniel Oliveira, David Huntsperger, Dylan Hercher, emily, Emily Ye, Etienne Chauchot, Eugene Nikolaiev, Heejong Lee, iindyk, Iñigo San Jose Visiers, Ismaël Mejía, Jack McCluskey, Jan Lukavský, Jeff Ruane, Jeremy Lewi, KevinGG, Ke Wu, Kyle Weaver, lostluck, Luke Cwik, Marwan Tammam, masahitojp, Mehdi Drissi, Minbo Bae, Ning Kang, Pablo Estrada, Pascal Gillet, Pawas Chhokra, Reuven Lax, Ritesh Ghorse, Robert Bradshaw, Robert Burke, Rodrigo Benenson, Ryan Thompson, Saksham Gupta, Sam Rohde, Sam Whittle, Sayat, Sayat Satybaldiyev, Siyuan Chen, Slava Chernyak, Steve Niemitz, Steven Niemitz, tvalentyn, Tyson Hamilton, Udi Meiri, vachan-shetty, Venkatramani Rajgopal, Yichi Zhang, zhoufek