Apache Beam 2.39.0

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

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

I/Os

  • JmsIO 能够将任何类型的输入映射到任何 javax.jms.Message 子类(Java)(BEAM-16308)。
  • JmsIO 引入了写入动态主题的功能(Java)(BEAM-16308)。
    • 必须设置 topicNameMapper 以从输入值中提取主题名称。
    • 必须设置 valueMapper 以将输入值转换为 JMS 消息。
  • 减少 BigqueryIO StreamingInserts 生成的线程数(BEAM-14283)。
  • 实现了 Apache PulsarIO(BEAM-8218)。

新功能/改进

  • 支持 flink scala 2.12,因为大多数库支持 2.12 及更高版本。(beam-14386
  • 添加了“管理集群”JupyterLab 扩展,供用户配置交互式 Beam 管理的 Dataproc 集群的使用(Python)(BEAM-14130)。
  • 为 Go SDK 添加了管道排空支持(BEAM-11106)。**注意:此功能尚未完全验证,在本版本中应视为实验性。**
  • 为 DataFrame API 实现了 DataFrame.unstack()DataFrame.pivot()Series.unstack()BEAM-13948BEAM-13966)。
  • 为 Java 和 Python SDK 中的数据流运行器添加了对模拟身份凭据的支持(BEAM-14014)。
  • 实现了用于管理 Dataproc 集群的 Jupyterlab 扩展(BEAM-14130)。
  • 添加了 ExternalPythonTransform API,用于从 Java 轻松调用 Python 变换(BEAM-14143)。
  • 添加了对 Elasticsearch 8.x 的支持(BEAM-14003)。
  • 分片感知的 Kinesis 记录聚合(AWS Sdk v2),(BEAM-14104)。
  • 升级到 ZetaSQL 2022.04.1(BEAM-14348)。
  • 修复了无法将 ReadFromBigQuery 与交互式运行器一起使用的问题(BEAM-14112)。

重大变更

  • 从 Go SDK 的 pipelinex 包中删除了未使用的函数 ShallowCloneParDoPayload()ShallowCloneSideInput()ShallowCloneFunctionSpec()BEAM-13739)。
  • JmsIO 要求显式设置 valueMapperBEAM-16308)。可以使用 TextMessageMapperString 输入转换为 JMS TestMessage
  JmsIO.<String>write()
        .withConnectionFactory(jmsConnectionFactory)
        .withValueMapper(new TextMessageMapper());
  • 预计 Python 中的编码器将继承自 Coder。(BEAM-14351)。
  • 在 Python SDK 中的 io.filesystem.FileSystem 中添加了新的抽象方法 metadata()。(BEAM-14314

弃用

错误修复

  • 修复了 Java Spanner IO 在模板执行中未指定 ProjectID 时出现的 NPE(Java)(BEAM-14405)。
  • 修复了 BigQueryServicesImpl.getErrorInfo 中可能出现的 NPE(Java)(BEAM-14133)。

已知问题

贡献者列表

根据 git shortlog,以下人员为 2.39.0 版本做出了贡献。感谢所有贡献者!

Ahmed Abualsaud、Ahmet Altay、Aizhamal Nurmamat kyzy、Alexander Zhuravlev、Alexey Romanenko、Anand Inguva、Andrei Gurau、Andrew Pilloud、Andy Ye、Arun Pandian、Arwin Tio、Aydar Farrakhov、Aydar Zainutdinov、AydarZaynutdinov、Balázs Németh、Benjamin Gonzalez、Brian Hulette、Buqian Zheng、Chamikara Jayalath、Chun Yang、Daniel Oliveira、Daniela Martín、Danny McCormick、David Huntsperger、Deepak Nagaraj、Denise Case、Esun Kim、Etienne Chauchot、Evan Galpin、Hector Miuler Malpica Gallegos、Heejong Lee、Hengfeng Li、Ilango Rajagopal、Ilion Beyst、Israel Herraiz、Jack McCluskey、Kamil Bregula、Kamil Breguła、Ke Wu、Kenneth Knowles、KevinGG、Kiley、Kiley Sok、Kyle Weaver、Liam Miller-Cushon、Luke Cwik、Marco Robles、Matt Casters、Michael Li、MiguelAnzoWizeline、Milan Patel、Minbo Bae、Moritz Mack、Nick Caballero、Niel Markwick、Ning Kang、Oskar Firlej、Pablo Estrada、Pavel Avilov、Reuven Lax、Reza Rokni、Ritesh Ghorse、Robert Bradshaw、Robert Burke、Ryan Thompson、Sam Whittle、Steven Niemitz、Thiago Nunes、Tomo Suzuki、Valentyn Tymofieiev、Victor、Yi Hu、张一驰、Yiru Tang、ahmedabu98、andoni-guzman、brachipa、bulat safiullov、bullet03、dannymartinm、daria.malkova、dpcollins-google、egalpin、emily、fbeevikm、johnjcasey、kileys、[email protected]、nguyennk92、pablo rodriguez defino、rszper、rvballada、sachinag、tvalentyn、vachan-shetty、yirutang