部落格 & 版本發布
2020/09/18
Apache Beam 2.24.0
我們很高興推出 Apache Beam 的新版本 2.24.0。此版本包含改進和新功能。請參閱下載頁面以獲取此版本。
有關 2.24.0 版本變更的詳細資訊,請查看詳細版本說明。
重點
- Apache Beam 2.24.0 是最後一個支援 Python 2 和 Python 3.5 的版本。
I/O
- BigtableIO.Read.withKeyRange() 和 BigtableIO.Read.withRowFilter() 方法的新重載,採用 ValueProvider 作為參數 (Java) (BEAM-10283)。
- Dataflow Batch 中的 WriteToBigQuery 轉換 (Python) 預設不再依賴 BigQuerySink。它依賴於基於檔案載入到 BigQuery 的新、功能完整的轉換。要將行為恢復為舊的實作,您可以使用
--experiments=use_legacy_bq_sink
。 - 新增對 Java 的 JdbcIO 的跨語言支援,現在可在 Python 模組
apache_beam.io.jdbc
中使用 (BEAM-10135, BEAM-10136)。 - 新增對 KinesisIO.Read 的 AWS SDK v2 支援 (Java) (BEAM-9702)。
- 新增對 Java SDK 中 SnowflakeIO 的串流支援 (BEAM-9896)
- 支援在 Python SDK 中讀取和寫入 Google Healthcare DICOM API (BEAM-10601)
- 為 SnowflakeIO.write 新增處置方式 (BEAM-10343)
- 新增對 SnowflakeIO.Read 的跨語言支援,現在可在 Python 模組
apache_beam.io.external.snowflake
中使用 (BEAM-9897)。
新功能 / 改善
- 新增了共享函式庫,用於簡化 Python SDK 中大型共享物件的管理。範例用例是在多個執行緒之間共享大型 TF 模型物件 (BEAM-10417)。
- 當在 bundle 中較早設定時,Dataflow 串流計時器並非嚴格依照時間順序排列 (BEAM-8543)。
- 在 FnApiDoFnRunner 中處理每個元素/計時器時,OnTimerContext 不應建立新的計時器 (BEAM-9839)
- 金鑰應可在 @OnTimer 方法中使用 (Spark 執行器) (BEAM-9850)
重大變更
- WriteToBigQuery 轉換現在需要透過 WriteToBigQuery 的建構子中的 custom_gcs_temp_location 或備用選項 –temp_location 提供 GCS 位置,或將 method=“STREAMING_INSERTS” 傳遞給 WriteToBigQuery (BEAM-6928)。
- Python SDK 現在理解
typing.FrozenSet
類型提示,它與typing.Set
不可互換。如果類型檢查失敗,您可能需要更新您的管道。( BEAM-10197)
已知問題
- 預設壓縮器變更會破壞 Dataflow Python 串流作業更新相容性。如果作業更新至關重要,請使用 Python SDK 版本 <= 2.23.0 或 > 2.25.0。( BEAM-11113)
貢獻者列表
根據 git shortlog,以下人員為 2.24.0 版本做出了貢獻。感謝所有貢獻者!
adesormi, Ahmet Altay, Alex Amato, Alexey Romanenko, Andrew Pilloud, Ashwin Ramaswami, Borzoo, Boyuan Zhang, Brian Hulette, Brian M, Bu Sun Kim, Chamikara Jayalath, Colm O hEigeartaigh, Corvin Deboeser, Damian Gadomski, Damon Douglas, Daniel Oliveira, Dariusz Aniszewski, davidak09, David Cavazos, David Moravek, David Yan, dhodun, Doug Roeper, Emil Hessman, Emily Ye, Etienne Chauchot, Etta Rapp, Eugene Kirpichov, fuyuwei, Gleb Kanterov, Harrison Green, Heejong Lee, Henry Suryawirawan, InigoSJ, Ismaël Mejía, Israel Herraiz, Jacob Ferriero, Jan Lukavský, Jayendra, jfarr, jhnmora000, Jiadai Xia, JIahao wu, Jie Fan, Jiyong Jung, Julius Almeida, Kamil Gałuszka, Kamil Wasilewski, Kasia Kucharczyk, Kenneth Knowles, Kevin Puthusseri, Kyle Weaver, Łukasz Gajowy, Luke Cwik, Mark-Zeng, Maximilian Michels, Michal Walenia, Niel Markwick, Ning Kang, Pablo Estrada, pawel.urbanowicz, Piotr Szuberski, Rafi Kamal, rarokni, Rehman Murad Ali, Reuben van Ammers, Reuven Lax, Ricardo Bordon, Robert Bradshaw, Robert Burke, Robin Qiu, Rui Wang, Saavan Nanavati, sabhyankar, Sam Rohde, Scott Lukas, Siddhartha Thota, Simone Primarosa, Sławomir Andrian, Steve Niemitz, Tobiasz Kędzierski, Tomo Suzuki, Tyson Hamilton, Udi Meiri, Valentyn Tymofieiev, viktorjonsson, Xinyu Liu, Yichi Zhang, Yixing Zhang, yoshiki.obata, Yueyang Qiu, zijiesong