Apache Beam 2.55.0

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

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

亮点

  • Python SDK 现在将包含为外部 Java 转换自动生成的包装器!(#29834)

I/Os

  • 增加了对 BigQueryIO 的错误记录处理的支持 (#30081).
    • 完全支持存储读取和写入 API
    • 部分支持文件加载(支持写入文件的错误,不支持将文件加载到 BQ 的错误)
    • 不支持提取或流式插入
  • 增加了对 PubSubIO 的错误记录处理的支持 (#30372).
    • 不支持处理模式不匹配,并且不建议为使用模式的 Pub/Sub 主题启用写入错误处理
  • BigQueryIO DIRECT_READ 的 --enableBundling 管道选项已替换为 --enableStorageReadApiV2。两者都被视为实验性的,可能会发生变化(Java)(#26354).

新功能/改进

  • 允许写入集群化且非时间分区的 BigQuery 表(Java)(#30094).
  • Redis 缓存支持已添加到 RequestResponseIO 和 Enrichment 转换(Python)(#30307)
  • sdks/java/fn-executionrunners/core-construction-java 合并到主 SDK 中。这些工件从未打算供用户使用,但请注意它们不再存在。这些步骤是将可移植性引入核心 SDK,以及所有其他核心功能。
  • 为 Enrichment 转换添加了 Vertex AI 功能存储处理程序(Python)(#30388)

重大变更

  • Arrow 版本已从 5.0.0 升级到 15.0.0 (#30181).
  • 使用 distroless 容器作为基础的 Go SDK 用户可能会遇到问题,因为它们将移动到 distroless 容器(请参阅安全修复)
  • Python SDK 已将 --max_cache_memory_usage_mb 管道选项的默认值从 100 更改为 0。此选项首次在 2.52.0 SDK 版本中引入。此更改恢复了 2.51.0 SDK 的行为,该版本不使用状态缓存。如果您的管道使用可迭代的侧输入视图,请考虑通过手动设置选项来增加缓存大小。(#30360).

弃用

  • N/A

错误修复

  • 修复了 SpannerIO.readChangeStream 以支持将凭据从管道选项传播到 getDialect 调用,以使用 Spanner 进行身份验证(Java)(#30361).
  • 减少了 GCSIO 函数调用中的 HTTP 请求数量(Python)(#30205)

安全修复

  • Go SDK 基础容器映像已移动到 distroless/base-nossl-debian12,将易受攻击的容器表面缩减到内核和 glibc (#30011).

已知问题

  • 在 Python 管道中,当关闭不活跃的捆绑处理器时,关闭逻辑可能会过度积极地持有锁,从而阻止接受新工作。此问题的症状包括长时间运行的作业的缓慢或卡住。在 2.56.0 中修复 (#30679).
  • 使用 2.53.0-2.58.0 SDK 运行并从 GCS 读取数据的 Python 管道可能会受到数据损坏问题的影响 (#32169)。此问题将在 2.59.0 中修复 (#32135)。要解决此问题,请将 google-cloud-storage 包更新到 2.18.2 或更高版本。

有关已知问题的最新列表,请查看 https://github.com/apache/beam/blob/master/CHANGES.md

贡献者列表

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

Ahmed Abualsaud

Anand Inguva

Andrew Crites

Andrey Devyatkin

Arun Pandian

Arvind Ram

Chamikara Jayalath

Chris Gray

Claire McGinty

Damon Douglas

Dan Ellis

Danny McCormick

Daria Bezkorovaina

Dima I

Edward Cui

Ferran Fernández Garrido

GStravinsky

Jan Lukavský

Jason Mitchell

JayajP

Jeff Kinard

Jeffrey Kinard

Kenneth Knowles

Mattie Fu

Michel Davit

Oleh Borysevych

Ritesh Ghorse

Ritesh Tarway

Robert Bradshaw

Robert Burke

Sam Whittle

Scott Strong

Shunping Huang

Steven van Rossum

Svetak Sundhar

Talat UYARER

Ukjae Jeong (Jay)

Vitaly Terentyev

Vlado Djerek

胡逸

akashorabek

case-k

clmccart

dengwe1

dhruvdua

hardshah

johnjcasey

liferoad

martin trieu

tvalentyn