Apache Beam 2.23.0

我們很高興推出 Apache Beam 的新 2.23.0 版本。此版本包含改進和新功能。請參閱下載頁面以獲取此版本。

有關 2.23.0 中變更的更多資訊,請查看詳細的發行說明

重點

I/O

  • 新增對從 Snowflake 讀取資料的支援 (Java) (BEAM-9722)。
  • 新增對寫入 Splunk 的支援 (Java) (BEAM-8596)。
  • 新增對假設角色的支援 (Java) (BEAM-10335)。
  • 新增了一個新的轉換,用於從 BigQuery 讀取資料:apache_beam.io.gcp.bigquery.ReadFromBigQuery。此轉換是實驗性的。它透過將資料匯出到 Avro 檔案並讀取這些檔案,從 BigQuery 讀取資料。它還支援透過匯出到 JSON 檔案來讀取資料。這在時間和日期相關欄位的行為上有一些細微差異。有關更多資訊,請參閱 Pydoc。
  • 為 SnowflakeIO.write 新增配置 (BEAM-10343)

新功能/改進

  • 更新 Snowflake JDBC 相依性並將 application=beam 新增至連線 URL (BEAM-10383)。

重大變更

  • RowJson.RowJsonDeserializerJsonToRowPubsubJsonTableProvider 現在在還原序列化 JSON 時,預設會接受「隱含空值」(Java) (BEAM-10220)。先前,空值只能使用明確的空值表示,例如 {"foo": "bar", "baz": null},而像 {"foo": "bar"} 這樣的隱含空值會引發例外。現在,預設情況下,這兩個 JSON 字串都會產生相同的結果。可以使用 RowJson.RowJsonDeserializer#withNullBehavior 覆寫此行為。
  • 修正了 Python 中 GroupIntoBatches 實驗性轉換中的一個錯誤,以實際按鍵分組批次。這會變更此轉換的輸出類型 (BEAM-6696)。

棄用

  • 移除 Gearpump 執行器。( BEAM-9999)
  • 移除 Apex 執行器。( BEAM-9999)
  • RedisIO.readAll() 已棄用,將在 2 個版本中移除,使用者必須使用 RedisIO.readKeyPatterns() 作為替代 (BEAM-9747)。

已知問題

貢獻者列表

根據 git shortlog,以下人員為 2.23.0 版本做出了貢獻。感謝所有貢獻者!

Aaron, Abhishek Yadav, Ahmet Altay, aiyangar, Aizhamal Nurmamat kyzy, Ajo Thomas, Akshay-Iyangar, Alan Pryor, Alex Amato, Alexey Romanenko, Allen Pradeep Xavier, Andrew Crites, Andrew Pilloud, Ankur Goenka, Anna Qin, Ashwin Ramaswami, bntnam, Borzoo Esmailloo, Boyuan Zhang, Brian Hulette, Brian Michalski, brucearctor, Chamikara Jayalath, chi-chi weng, Chuck Yang, Chun Yang, Colm O hEigeartaigh, Corvin Deboeser, Craig Chambers, Damian Gadomski, Damon Douglas, Daniel Oliveira, Dariusz Aniszewski, darshanj, darshan jani, David Cavazos, David Moravek, David Yan, Esun Kim, Etienne Chauchot, Filipe Regadas, fuyuwei, Graeme Morgan, Hannah-Jiang, Harch Vardhan, Heejong Lee, Henry Suryawirawan, InigoSJ, Ismaël Mejía, Israel Herraiz, Jacob Ferriero, Jan Lukavský, Jie Fan, John Mora, Jozef Vilcek, Julien Phalip, Justine Koa, Kamil Gabryjelski, Kamil Wasilewski, Kasia Kucharczyk, Kenneth Jung, Kenneth Knowles, kevingg, Kevin Sijo Puthusseri, kshivvy, Kyle Weaver, Kyoungha Min, Kyungwon Jo, Luke Cwik, Mark Liu, Mark-Zeng, Matthias Baetens, Maximilian Michels, Michal Walenia, Mikhail Gryzykhin, Nam Bui, Nathan Fisher, Niel Markwick, Ning Kang, Omar Ismail, Pablo Estrada, paul fisher, Pawel Pasterz, perkss, Piotr Szuberski, pulasthi, purbanow, Rahul Patwari, Rajat Mittal, Rehman, Rehman Murad Ali, Reuben van Ammers, Reuven Lax, Reza Rokni, Rion Williams, Robert Bradshaw, Robert Burke, Rui Wang, Ruoyun Huang, sabhyankar, Sam Rohde, Sam Whittle, sclukas77, Sebastian Graca, Shoaib Zafar, Sruthi Sree Kumar, Stephen O’Kennedy, Steve Koonce, Steve Niemitz, Steven van Rossum, Ted Romer, Tesio, Thinh Ha, Thomas Weise, Tobias Kaymak, tobiaslieber-cognitedata, Tobiasz Kędzierski, Tomo Suzuki, Tudor Marian, tvs, Tyson Hamilton, Udi Meiri, Valentyn Tymofieiev, Vasu Nori, xuelianhan, Yichi Zhang, Yifan Zou, Yixing Zhang, yoshiki.obata, Yueyang Qiu, Yu Feng, Yuwei Fu, Zhuo Peng, ZijieSong946。