部落格 & 版本發布
2021/11/11
Apache Beam 2.34.0
我們很高興推出 Beam 的新版本 2.34.0。此版本包含改進和新功能。請參閱下載頁面以取得此版本。
如需 2.34.0 中變更的更多資訊,請參閱詳細版本說明。
重點
- 用於 Calcite SqlTransform 的 Beam Java API 不再是實驗性的 (BEAM-12680)。
- Python 的 ParDo(Map、FlatMap 等)轉換現在支援
with_exception_handling
選項,可輕鬆忽略錯誤的記錄並實作死信模式。
I/O
ReadFromBigQuery
和ReadAllFromBigQuery
現在預設以 BATCH 優先權執行查詢。query_priority
參數被引入到相同的轉換中,允許配置查詢優先權(Python)(BEAM-12913)。- [實驗性] 支援 BigQuery Storage Read API 已新增至
ReadFromBigQuery
。新引入的method
參數可以設定為DIRECT_READ
來使用 Storage Read API。預設值為EXPORT
,它會調用 BigQuery 匯出請求。(Python)(BEAM-10917)。 - [實驗性] 新增
use_native_datetime
參數至ReadFromBigQuery
,以在使用ReadFromBigQuery
時配置 DATETIME 欄位的傳回類型。此參數僅在method = DIRECT_READ
時才可以使用(Python)(BEAM-10917)。
新功能/改進
- 升級到 Calcite 1.26.0 (BEAM-9379)。
- 在 Python SDK 中新增了一個新的
dataframe
額外功能,用於追蹤我們已驗證相容性的pandas
版本。我們現在建議在您打算使用 DataFrame API 時使用pip install apache-beam[dataframe]
安裝 Beam (BEAM-12906)。 - 新增了一個使用 Spark Cluster 部署 Python Apache Beam 作業的範例
重大變更
- SQL 列不再扁平化 (BEAM-5505)。
- [Go SDK] beam.TryCrossLanguage 的簽名現在與 beam.CrossLanguage 匹配。和其他 Try 函數一樣,它會傳回錯誤而不是 panic。(BEAM-9918)。
- BEAM-12925 已修正。它過去會靜默地傳遞從 JdbcIO 讀取的不正確空值資料。受此影響的管線現在會開始拋出失敗,而不是靜默地傳遞不正確的資料。
錯誤修正
- 修正了將多個 DeferredFrames 寫入 csv 時發生的錯誤 (Python) (BEAM-12701)。
- 修正了在安裝 pandas 1.0.x 的情況下匯入 DataFrame API 時發生的錯誤 (BEAM-12945)。
- 修正了 Go SDK 中 top.SmallestPerKey 的實作 (BEAM-12946)。
已知問題
- 使用 FILE_LOADS 方法的大型 Java BigQueryIO 寫入在批次模式下會失敗(特別是在使用複製作業時)。這會導致錯誤訊息:
IllegalArgumentException: Attempting to access unknown side input
。請升級到較新版本(> 2.34.0)或使用其他寫入方法(例如STORAGE_WRITE_API
)。
貢獻者列表
根據 git shortlog,以下人員為 2.34.0 版本做出了貢獻。感謝所有貢獻者!
Ahmet Altay, Aizhamal Nurmamat kyzy, Alex Amato, Alexander Chermenin, Alexey Romanenko, AlikRodriguez, Andrew Pilloud, Andy Xu, Ankur Goenka, Aydar Farrakhov, Aydar Zainutdinov, Aydar Zaynutdinov, AydarZaynutdinov, Benjamin Gonzalez, BenWhitehead, Brachi Packter, Brian Hulette, Bu Sun Kim, Chamikara Jayalath, Chris Gray, Chuck Yang, Chun Yang, Claire McGinty, comet, Daniel Collins, Daniel Oliveira, Daniel Thevessen, daria.malkova, David Cavazos, David Huntsperger, Dmytro Kozhevin, dpcollins-google, Eduardo Sánchez López, Elias Djurfeldt, emily, Emily Ye, Enis Sert, Etienne Chauchot, Fernando Morales, Heejong Lee, Ihor Indyk, Ismaël Mejía, Israel Herraiz, Jack McCluskey, Jonathan Hourany, Judah Rand, Kenneth Knowles, KevinGG, Ke Wu, kileys, Kyle Weaver, Luke Cwik, masahitojp, MiguelAnzoWizeline, Minbo Bae, Niels Basjes, Ning Kang, Pablo Estrada, pareshsarafmdb, Paul Féraud, Piotr Szczepanik, Reuven Lax, Ritesh Ghorse, R. Miles McCain, Robert Bradshaw, Robert Burke, Rogan Morrow, Ruwan Lambrichts, rvballada, Ryan Thompson, Sam Rohde, Sam Whittle, Ștefan Istrate, Steve Niemitz, Thomas Li Fredriksen, Tomo Suzuki, tvalentyn, Udi Meiri, Vachan, Valentyn Tymofieiev, Vincent Marquez, WinsonT, Yichi Zhang, Yifan Mai, Yilei “Dolee” Yang, zhoufek