Apache Beam 2.34.0

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

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

亮点

  • 用于 Calcite SqlTransform 的 Beam Java API 现在不再是实验性的 (BEAM-12680).
  • Python 的 ParDo (Map、FlatMap 等) 变换现在支持 with_exception_handling 选项,以便轻松忽略错误记录并实现死信模式。

I/Os

  • ReadFromBigQueryReadAllFromBigQuery 现在默认使用 BATCH 优先级运行查询。 query_priority 参数已引入到相同的变换中,以允许配置查询优先级 (Python) (BEAM-12913).
  • [实验性] ReadFromBigQuery 中添加了对 BigQuery Storage Read API 的支持。 新引入的 method 参数可以设置为 DIRECT_READ 以使用 Storage Read API。 默认值为 EXPORT,它会调用 BigQuery 导出请求。 (Python) (BEAM-10917).
  • [实验性] 向 ReadFromBigQuery 添加了 use_native_datetime 参数,以配置使用 ReadFromBigQueryDATETIME 字段的返回类型。 此参数可在 method = DIRECT_READ 时使用 (Python) (BEAM-10917).

新功能/改进

  • 升级到 Calcite 1.26.0 (BEAM-9379).
  • 向 Python SDK 添加了一个新的 dataframe 额外内容,它跟踪我们已验证兼容性的 pandas 版本。 我们现在建议在您打算使用 DataFrame API 时使用 pip install apache-beam[dataframe] 安装 Beam (BEAM-12906).
  • 添加一个 示例,用于使用 Spark 集群部署 Python Apache Beam 作业

重大变更

  • SQL 行不再被展平 (BEAM-5505).
  • [Go SDK] beam.TryCrossLanguage 的签名现在与 beam.CrossLanguage 相匹配。 与其他 Try 函数一样,它返回错误而不是惊慌。 (BEAM-9918).
  • BEAM-12925 已修复。 它以前会静默地传递从 JdbcIO 读取的错误的空数据。 受此影响的管道现在将开始抛出错误,而不是静默地传递错误数据。

错误修复

  • 修复了将多个 DeferredFrame 写入 csv 时出现的错误 (Python) (BEAM-12701).
  • 修复了在安装了 pandas 1.0.x 时导入 DataFrame API 时出现的错误 (BEAM-12945).
  • 修复了 Go SDK 中 top.SmallestPerKey 的实现 (BEAM-12946).

已知问题

  • 使用 FILE_LOADS 方法的大型 Java BigQueryIO 写入将在批处理模式下失败(具体来说,当使用复制作业时)。 这会导致以下错误消息:IllegalArgumentException: Attempting to access unknown side input。 请升级到更新版本(> 2.34.0)或使用其他写入方法(例如 STORAGE_WRITE_API)。

贡献者列表

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

Ahmet Altay, Aizhamal Nurmamat kyzy, Alex Amato, Alexander Chermenin, Alexey Romanenko, AlikRodriguez, Andrew Pilloud, Andy Xu, Ankur Goenka, Aydar Farrakhov, Aydar Zainutdinov, Aydar Zaynutdinov, AydarZaynutdinov, Benjamin Gonzalez, BenWhitehead, Brachi Packter, Brian Hulette, Bu Sun Kim, Chamikara Jayalath, Chris Gray, Chuck Yang, Chun Yang, Claire McGinty, comet, Daniel Collins, Daniel Oliveira, Daniel Thevessen, daria.malkova, David Cavazos, David Huntsperger, Dmytro Kozhevin, dpcollins-google, Eduardo Sánchez López, Elias Djurfeldt, emily, Emily Ye, Enis Sert, Etienne Chauchot, Fernando Morales, Heejong Lee, Ihor Indyk, Ismaël Mejía, Israel Herraiz, Jack McCluskey, Jonathan Hourany, Judah Rand, Kenneth Knowles, KevinGG, Ke Wu, kileys, Kyle Weaver, Luke Cwik, masahitojp, MiguelAnzoWizeline, Minbo Bae, Niels Basjes, Ning Kang, Pablo Estrada, pareshsarafmdb, Paul Féraud, Piotr Szczepanik, Reuven Lax, Ritesh Ghorse, R. Miles McCain, Robert Bradshaw, Robert Burke, Rogan Morrow, Ruwan Lambrichts, rvballada, Ryan Thompson, Sam Rohde, Sam Whittle, Ștefan Istrate, Steve Niemitz, Thomas Li Fredriksen, Tomo Suzuki, tvalentyn, Udi Meiri, Vachan, Valentyn Tymofieiev, Vincent Marquez, WinsonT, Yichi Zhang, Yifan Mai, Yilei “Dolee” Yang, zhoufek