Apache Beam 2.40.0

我们很高兴地宣布 Beam 的新版本 2.40.0 发布。此版本包含改进和新功能。请查看 下载页面 获取此版本的下载信息。

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

亮点

  • 添加了 RunInference API,这是一个与框架无关的推理转换。此版本支持 PyTorch 和 Scikit-learn。请参阅 apache_beam/examples/inference/pytorch_image_classification.py 中的示例。

I/O

  • 将 HCatalogIO 升级到 Hive 3.1.3。用户仍然可以提供自己的 Hive 版本。(Java)(Issue-19554).

新功能/改进

  • Go SDK 用户现在可以使用通用注册函数来优化他们的 DoFn 执行。(BEAM-14347)
  • Go SDK 用户现在可以编写自检点的可拆分 DoFns 来从流式源读取数据。(BEAM-11104)
  • Go SDK textio 读取已完全迁移到可拆分 DoFns。(BEAM-14489)
  • Go SDK 的管道排水支持已添加并经过测试。(BEAM-11106)
  • Go SDK 用户现在可以在工作程序状态中查看堆使用情况、侧输入缓存统计信息和活动进程捆绑统计信息。(BEAM-13829)
  • Python 的序列化(pickle)库是 dill==0.3.1.1 (BEAM-11167)

重大更改

  • Go Sdk 现在需要 1.18 以上版本才能支持泛型 (BEAM-14347).
  • synthetic.SourceConfig 字段类型已从 int 更改为 int64,以更好地兼容 Flink 在 Schema 中使用逻辑类型。(Go)(BEAM-14173)
  • 默认编码器已更新,以压缩与 BoundedSourceAsSDFWrapperFnUnboundedSourceAsSDFWrapper 一起使用的源。

错误修复

  • 修复了 Java 扩展服务,允许对特定文件进行分段 (BEAM-14160).
  • 修复了在同时使用 ssl 和用户名/密码时 Elasticsearch 连接的问题(Java)(BEAM-14000)

已知问题

  • 当 Python 的 beam.FlatMap 使用某些 内置函数(如 sumlen)构造时,将引发 AttributeError: 'builtin_function_or_method' object has no attribute '__func__' (#22091).
  • Java 的 BigQueryIO.Write 可能会出现尝试输出超出最大时间戳范围的异常 Cannot output with timestamp 294247-01-10T04:00:54.776Z. Output timestamps must be no earlier than the timestamp of the current input or timer (294247-01-10T04:00:54.776Z) minus the allowed skew (0 milliseconds) and no later than 294247-01-10T04:00:54.775Z. See the DoFn#getAllowedTimestampSkew() Javadoc for details on changing the allowed skew. 这种情况发生在接收器处于空闲状态时,导致空闲超时触发,或者在使用动态目标时特定表处于空闲状态足够长的时间。当这种情况发生时,作业将无法再被排水。此问题已在 2.41 版本中得到修复。

贡献者列表

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

Ahmed Abualsaud Ahmet Altay Aizhamal Nurmamat kyzy Alejandro Rodriguez-Morantes Alexander Zhuravlev Alexey Romanenko Anand Inguva andoni-guzman Andy Ye Balázs Németh Benjamin Gonzalez Brian Hulette bulat safiullin bullet03 Chamikara Jayalath Damon Douglas Daniel Oliveira Danny McCormick Darkhan Nausharipov David Huntsperger Diego Gomez dpcollins-google Ekaterina Tatanova Elias Segundo Etienne Chauchot Evan Galpin fbeevikm Fernando Morales Heejong Lee Igor Krasavin Ilion Beyst Israel Herraiz Jack McCluskey Jan Kuehle Jan Lukavský johnjcasey Jonathan Lui jrmccluskey Julien Tournay Kenneth Knowles Kerry Donny-Clark Kevin Puthusseri Kiley Sok Kyle Weaver kynx Lucas Nogueira Luke Cwik LuNing Wang Marco Robles masahitojp Minbo Bae Moritz Mack Naireen Hussain Nancy Xu Niel Markwick Ning Kang nishant jain nishantjain91 Oskar Firlej Pablo Estrada pablo rodriguez defino Rebecca Szper Red Daly Reuven Lax Ritesh Ghorse Robert Bradshaw Robert Burke Ryan Thompson Sam Whittle Thiago Nunes Tom Stepp vachan-shetty Valentyn Tymofieiev vikash2310 Vitaly Terentyev Vladislav Chunikhin Yichi Zhang Yi Hu Yiru Tang yixiaoshen zwestrick