Apache Beam 2.26.0

我们很高兴推出 Apache Beam 的新版本 2.26.0。此版本包含改进和新功能。有关此版本的更多信息,请访问 下载页面

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

亮点

  • 可拆分 DoFn 现在是 Java 基于运行器(带有有限管道运行的 Spark)执行 Read 变换的默认选项,除了 2.25.0 版本中现有的运行器(Direct、Flink、Jet、Samza、Twister2)之外。Read 变换的预期输出保持不变。用户可以使用 `--experiments=use_deprecated_read` 选择退出。Apache Beam 社区正在寻求对此更改的反馈,因为社区计划将此更改永久化,不再提供选择退出选项。如果您遇到需要选择退出的问题,请发送电子邮件至 [email protected],并在主题行中明确提及 BEAM-10670 以及您需要选择退出的原因。(Java)(BEAM-10670)

I/Os

  • Java BigQuery 流式插入现在默认情况下启用了超时。传递 `--HTTPWriteTimeout=0` 以恢复到旧行为。(BEAM-6103)
  • 添加了对上下文文本 I/O(Java)的支持,这是一种文本 I/O 版本,它提供了有关记录的元数据 (BEAM-10124)。对该 I/O 的支持目前处于实验阶段。具体来说,**对于使用此 I/O 的流式作业,Apache Beam SDK 的当前版本和未来版本之间没有更新兼容性保证**。

新功能/改进

  • 添加了对 Beam SQL Kafka 表中的 avro 有效负载格式的支持 (BEAM-10885)
  • 添加了对 Beam SQL Kafka 表中的 json 有效负载格式的支持 (BEAM-10893)
  • 添加了对 Beam SQL Kafka 表中的 protobuf 有效负载格式的支持 (BEAM-10892)
  • 添加了对 Beam SQL Pubsub 表中的 avro 有效负载格式的支持 (BEAM-5504)
  • 添加了在 Flink 运行器(Java)中禁用操作符之间不必要的复制的选项 (BEAM-11146)
  • 在 Python SDK 中添加了 CombineFn.setup 和 CombineFn.teardown。这些方法允许您在执行 CombineFn 的任何其他方法之前初始化 CombineFn 的状态,并在以后清理该状态。如果您使用的是 Dataflow,则需要通过传递 `--experiments=use_runner_v2` 来启用 Dataflow Runner V2,然后才能使用此功能。(BEAM-3736)

重大更改

  • BigQuery 的 DATETIME 类型现在映射到 Beam 逻辑类型 org.apache.beam.sdk.schemas.logicaltypes.SqlTypes.DATETIME
  • DataFrame 操作现在需要 Pandas 1.x。

贡献者列表

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

Abhishek Yadav, AbhiY98, Ahmet Altay, Alan Myrvold, Alex Amato, Alexey Romanenko, Andrew Pilloud, Ankur Goenka, Boyuan Zhang, Brian Hulette, Chad Dombrova, Chamikara Jayalath, Curtis “Fjord” Hawthorne, Damon Douglas, dandy10, Daniel Oliveira, David Cavazos, dennis, Derrick Qin, dpcollins-google, Dylan Hercher, emily, Esun Kim, Gleb Kanterov, Heejong Lee, Ismaël Mejía, Jan Lukavský, Jean-Baptiste Onofré, Jing, Jozef Vilcek, Justin White, Kamil Wasilewski, Kenneth Knowles, kileys, Kyle Weaver, lostluck, Luke Cwik, Mark, Maximilian Michels, Milan Cermak, Mohammad Hossein Sekhavat, Nelson Osacky, Neville Li, Ning Kang, pabloem, Pablo Estrada, pawelpasterz, Pawel Pasterz, Piotr Szuberski, PoojaChandak, purbanow, rarokni, Ravi Magham, Reuben van Ammers, Reuven Lax, Reza Rokni, Robert Bradshaw, Robert Burke, Romain Manni-Bucau, Rui Wang, rworley-monster, Sam Rohde, Sam Whittle, shollyman, Simone Primarosa, Siyuan Chen, Steve Niemitz, Steven van Rossum, sychen, Teodor Spæren, Tim Clemons, Tim Robertson, Tobiasz Kędzierski, tszerszen, Tudor Marian, tvalentyn, Tyson Hamilton, Udi Meiri, Vasu Gupta, xasm83, Yichi Zhang, yichuan66, Yifan Mai, yoshiki.obata, Yueyang Qiu, yukihira1992