Apache Beam 2.24.0

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

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

亮点

  • Apache Beam 2.24.0 是最后一个支持 Python 2 和 Python 3.5 的版本。

I/Os

  • BigtableIO.Read.withKeyRange() 和 BigtableIO.Read.withRowFilter() 方法的新重载,这些方法接受 ValueProvider 作为参数(Java)(BEAM-10283).
  • Dataflow 批处理中的 WriteToBigQuery 变换(Python)不再默认依赖于 BigQuerySink。它依赖于一个新的、功能齐全的变换,该变换基于将文件加载到 BigQuery 中。要恢复到旧实现的行为,可以使用 --experiments=use_legacy_bq_sink
  • 在 Python 模块 apache_beam.io.jdbc 中添加对 Java 的 JdbcIO 的跨语言支持(BEAM-10135BEAM-10136)。
  • 为 KinesisIO.Read(Java)添加 AWS SDK v2 支持(BEAM-9702)。
  • 在 Java SDK 中添加对 SnowflakeIO 的流支持(BEAM-9896)
  • 支持在 Python SDK 中读取和写入 Google Healthcare DICOM API(BEAM-10601)
  • 为 SnowflakeIO.write 添加处置(BEAM-10343)
  • 在 Python 模块 apache_beam.io.external.snowflake 中添加对 SnowflakeIO.Read 的跨语言支持(BEAM-9897)。

新功能/改进

  • 用于简化大型共享对象管理的共享库已添加到 Python SDK。用例示例是在线程之间共享大型 TF 模型对象(BEAM-10417)。
  • 当在捆绑包中间早点设置时,Dataflow 流式计时器并非严格按时间排序(BEAM-8543)。
  • OnTimerContext 不应在 FnApiDoFnRunner 中处理每个元素/计时器时创建新的(BEAM-9839)
  • 键应在 @OnTimer 方法中可用(Spark 运行器)(BEAM-9850)

重大变更

  • WriteToBigQuery 变换现在需要通过 WriteToBigQuery 构造函数中的 custom_gcs_temp_location 或备用选项 –temp_location 提供一个 GCS 位置,或者将 method=“STREAMING_INSERTS” 传递给 WriteToBigQuery(BEAM-6928)。
  • Python SDK 现在理解 typing.FrozenSet 类型提示,它们不可与 typing.Set 交换。如果类型检查失败,您可能需要更新您的管道。(BEAM-10197)

已知问题

  • 默认压缩机更改会破坏 dataflow python 流式作业更新兼容性。如果作业更新至关重要,请使用 python SDK 版本 <= 2.23.0 或 > 2.25.0。(BEAM-11113)

贡献者列表

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

adesormi, Ahmet Altay, Alex Amato, Alexey Romanenko, Andrew Pilloud, Ashwin Ramaswami, Borzoo, Boyuan Zhang, Brian Hulette, Brian M, Bu Sun Kim, Chamikara Jayalath, Colm O hEigeartaigh, Corvin Deboeser, Damian Gadomski, Damon Douglas, Daniel Oliveira, Dariusz Aniszewski, davidak09, David Cavazos, David Moravek, David Yan, dhodun, Doug Roeper, Emil Hessman, Emily Ye, Etienne Chauchot, Etta Rapp, Eugene Kirpichov, fuyuwei, Gleb Kanterov, Harrison Green, Heejong Lee, Henry Suryawirawan, InigoSJ, Ismaël Mejía, Israel Herraiz, Jacob Ferriero, Jan Lukavský, Jayendra, jfarr, jhnmora000, Jiadai Xia, JIahao wu, Jie Fan, Jiyong Jung, Julius Almeida, Kamil Gałuszka, Kamil Wasilewski, Kasia Kucharczyk, Kenneth Knowles, Kevin Puthusseri, Kyle Weaver, Łukasz Gajowy, Luke Cwik, Mark-Zeng, Maximilian Michels, Michal Walenia, Niel Markwick, Ning Kang, Pablo Estrada, pawel.urbanowicz, Piotr Szuberski, Rafi Kamal, rarokni, Rehman Murad Ali, Reuben van Ammers, Reuven Lax, Ricardo Bordon, Robert Bradshaw, Robert Burke, Robin Qiu, Rui Wang, Saavan Nanavati, sabhyankar, Sam Rohde, Scott Lukas, Siddhartha Thota, Simone Primarosa, Sławomir Andrian, Steve Niemitz, Tobiasz Kędziorski, Tomo Suzuki, Tyson Hamilton, Udi Meiri, Valentyn Tymofieiev, viktorjonsson, Xinyu Liu, Yichi Zhang, Yixing Zhang, yoshiki.obata, Yueyang Qiu, zijiesong