Apache Beam 2.23.0

我们很高兴推出 Apache Beam 的新版本 2.23.0。此版本包含改进和新功能。请参见此版本的 下载页面

有关 2.23.0 中更改的更多信息,请查看 详细的发布说明

亮点

I/Os

  • 添加了对从 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 Gryzyk、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 Nie、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。