Apache Beam 2.50.0

我们很高兴推出 Beam 的新版本 2.50.0。此版本包含改进和新功能。请参阅 下载页面 以获取此版本的更多信息。

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

亮点

  • Spark 3.2.2 作为 Spark 运行器的默认版本 (#23804).
  • Go SDK 具有一个新的默认本地运行器,称为 Prism (#24789).
  • 所有 Beam 发布的容器镜像现在都是 多体系结构镜像,支持 x86 和 ARM CPU 架构。

I/Os

  • Java KafkaIO 现在支持通过 topicPattern 获取主题 (#26948)
  • 支持从 Cosmos DB Core SQL API 读取 (#23604)
  • 将 HBaseIO 的 HBase 升级到 2.5.5。(Java)(#27711)
  • 添加了对 GoogleAdsIO 源的支持(Java)(#27681).

新功能/改进

  • Go SDK 现在需要 Go 1.20 才能构建。(#27558)
  • Go SDK 具有一个新的默认本地运行器,称为 Prism。(#24789)。
  • 为 Python SDK 添加了用于 RunInference 的 Hugging Face 模型处理程序。(#26632)
  • 为 Python SDK 添加了用于 RunInference 的 Hugging Face 管道支持。(#27399)
  • 用于 RunInference 的 Vertex AI 模型处理程序现在支持私有端点 (#27696)
  • 添加了 MLTransform 转换,支持常见的 ML 预处理/后处理操作 (#26795)
  • 将 Java SDK 的 Kryo 扩展升级到 Kryo 5.5.0。这带来了错误修复、性能改进以及 Java 14 记录的序列化。(#27635)
  • 所有 Beam 发布的容器镜像现在都是 多体系结构镜像,支持 x86 和 ARM CPU 架构。(#27674)。多体系结构容器镜像包括
    • 所有版本的 Go、Python、Java 和 Typescript SDK 容器。
    • 所有版本的 Flink 作业服务器容器。
    • Java 和 Python 扩展服务容器。
    • 转换服务控制器容器。
    • Spark3 作业服务器容器。
  • 添加了对 AWS SQS 的批量写入支持,以提高吞吐量(Java,AWS 2)。(#21429)

重大变更

  • Python SDK:从 Dataflow 中删除了对传统运行器的支持,所有管道都必须使用运行器 v2。
  • Python SDK:Dataflow 运行器将不再在管道提交时将 Beam SDK 从 PyPI 暂存到 --staging_location。不基于 Beam 默认镜像的自定义容器镜像必须包含 Apache Beam 安装。(#26996)

弃用

  • Go 直接运行器现已弃用。它仍然可用,以减少迁移变更。
    • 可以通过覆盖 TestMain 将测试设置回直接运行器:func TestMain(m *testing.M) { ptest.MainWithDefault(m, "direct") }
    • 建议使用 Prism 解决测试中发现的问题,因为这些问题也可能发生在任何可移植运行器上。
    • 在管道 DoFns 中使用通用 register 包,以确保管道在可移植运行器(如 prism)上正常运行。
    • 不要依赖闭包或使用包全局变量来配置 DoFn。它们在可移植运行器上不起作用。

错误修复

已知问题

  • 长时间运行的 Python 管道可能会遇到内存泄漏:#28246.
  • 使用 BigQuery I/O 或 orjson 依赖项的 Python 管道可能会遇到段错误或卡住:#28318.
  • Python SDK 的跨语言 Bigtable 接收器错误地处理没有显式设置时间戳的记录:#28632。为了避免此问题,请在写入 Bigtable 之前为所有记录设置显式时间戳。

贡献者列表

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

Abacn

acejune

AdalbertMemSQL

ahmedabu98

Ahmed Abualsaud

al97

Aleksandr Dudko

Alexey Romanenko

Anand Inguva

Andrey Devyatkin

Anton Shalkovich

ArjunGHUB

Bjorn Pedersen

BjornPrime

Brett Morgan

Bruno Volpato

Buqian Zheng

Burke Davison

Byron Ellis

bzablocki

case-k

Celeste Zeng

Chamikara Jayalath

Clay Johnson

Connor Brett

Damon

Damon Douglas

Dan Hansen

Danny McCormick

Darkhan Nausharipov

Dip Patel

Dmytro Sadovnychyi

Florent Biville

Gabriel Lacroix

Hai Joey Tran

Hong Liang Teoh

Jack McCluskey

James Fricker

Jeff Kinard

Jeff Zhang

Jing

johnjcasey

jon esperanza

Josef Šimánek

Kenneth Knowles

Laksh

Liam Miller-Cushon

liferoad

magicgoody

Mahmud Ridwan

Manav Garg

Marco Vela

martin trieu

Mattie Fu

Michel Davit

Moritz Mack

mosche

Peter Sobot

Pranav Bhandari

Reeba Qureshi

Reuven Lax

Ritesh Ghorse

Robert Bradshaw

Robert Burke

RyuSA

Saba Sathya

Sam Whittle

Steven Niemitz

Steven van Rossum

Svetak Sundhar

Tony Tang

Valentyn Tymofieiev

Vitaly Terentyev

Vlado Djerek

Yichi Zhang

Yi Hu

Zechen Jiang