Apache Beam 2.14.0

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

有关 2.14.0 中更改的更多信息,请查看详细的版本说明

亮点

  • Python 3 支持扩展到 Python 3.6 和 3.7;此外还有各种其他 Python 3 改进
  • Spark 可移植运行器(批处理)现在可用于 Java、Python 和 Go。
  • 添加了新的运行器:Hazelcast Jet 运行器。(BEAM-7305

I/O

  • 为 BigQuery 读取添加了模式支持。(Java)(BEAM-6673
  • 为 JDBC 源添加了模式支持。(Java)(BEAM-6674
  • 修复了 BigQuery 对bytes的支持。(Python 3)(BEAM-6769
  • 添加了 DynamoDB I/O。(Java)(BEAM-7043
  • 添加了对使用 HCatalogIO 进行无界读取的支持。(Java)(BEAM-7450
  • 为 SDF 添加了 BoundedSource 包装器。(Python)(BEAM-7443
  • 在 RedisIO 中添加了对 INCRBY/DECRBY 操作的支持。(BEAM-7286
  • 添加了对使用文件加载的 WriteToBigQuery 定义的 ValueProvider GCS 位置的支持。(Java)((BEAM-7603))

新功能/改进

  • Python SDK 添加了对 DoFnsetupteardown方法的支持。(BEAM-562
  • Python SDK 添加了新的转换:ApproximateUniqueLatestReifyToStringWithKeys
  • 在工作进程中添加了用于用户定义的 JVM 初始化的钩子。(BEAM-6872
  • 添加了对 BigQueryTable 的 SQL 行估计的支持。(BEAM-7513
  • FlinkRunner 中流式接收器的自动分片。(BEAM-5865
  • 从外部排序器中删除了 Hadoop 依赖关系。(BEAM-7268
  • 添加了选项以使可移植 SDK 工作进程环境过期。(BEAM-7348
  • Beam 不再重新定位 Guava,并且仅依赖于其自身的 Guava 版本。(BEAM-6620

重大变更

  • 已弃用 Jdbc I/O 中的 set/getClientConfiguration。(BEAM-7263

错误修复

  • 修复了对连接的压缩文件的读取。(Python)(BEAM-6952
  • 修复了 Flink >= 1.6 版本中的重新缩放问题。(BEAM-7144
  • 修复了 SQL EXCEPT DISTINCT 行为。(BEAM-7194
  • 修复了 Flink 运行器进行有界读取时出现的 OOM 问题。(BEAM-7442
  • 修复了 HdfsFileSystem 以正确匹配目录。(BEAM-7561
  • 升级 Spark 运行器以使用 spark 版本 2.4.3。(BEAM-7265
  • 将 Jackson 升级到版本 2.9.9。(BEAM-7465
  • 还有其他各种错误修复和性能改进。

已知问题

  • 在此版本中**不要**使用 Python MongoDB 源。在此版本中添加的 Python MongoDB 源存在已知问题,会导致数据丢失。有关详细信息,请参阅 (BEAM-7866)。
  • 无法在 macOS 10.15 上安装 Python SDK。有关详细信息,请参阅 (BEAM-8368)。

贡献者列表

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

Ahmet Altay, Aizhamal Nurmamat kyzy, Ajo Thomas, Alex Amato, Alexey Romanenko, Alexey Strokach, Alex Van Boxel, Alireza Samadian, Andrew Pilloud, Ankit Jhalaria, Ankur Goenka, Anton Kedin, Aryan Naraghi, Bartok Jozsef, Bora Kaplan, Boyuan Zhang, Brian Hulette, Cam Mach, Chamikara Jayalath, Charith Ellawala, Charles Chen, Colm O hEigeartaigh, Cyrus Maden, Daniel Mills, Daniel Oliveira, David Cavazos, David Moravek, David Yan, Daniel Lescohier, Elwin Arens, Etienne Chauchot, Fábio Franco Uechi, Finch Keung, Frederik Bode, Gregory Kovelman, Graham Polley, Hai Lu, Hannah Jiang, Harshit Dwivedi, Harsh Vardhan, Heejong Lee, Henry Suryawirawan, Ismaël Mejía, Jan Lukavský, Jean-Baptiste Onofré, Jozef Vilcek, Juta, Kai Jiang, Kamil Wu, Kasia Kucharczyk, Kenneth Knowles, Kyle Weaver, Lara Schmidt, Łukasz Gajowy, Luke Cwik, Manu Zhang, Mark Liu, Matthias Baetens, Maximilian Michels, Melissa Pashniak, Michael Luckey, Michal Walenia, Mikhail Gryzyk, Ming Liang, Neville Li, Pablo Estrada, Paul Suganthan, Peter Backx, Rakesh Kumar, Rasmi Elasmar, Reuven Lax, Reza Rokni, Robbe Sneyders, Robert Bradshaw, Robert Burke, Rose Nguyen, Rui Wang, Ruoyun Huang, Shoaib Zafar, Slava Chernyak, Steve Niemitz, Tanay Tummalapalli, Thomas Weise, Tim Robertson, Tim van der Lippe, Udi Meiri, Valentyn Tymofieiev, Varun Dhussa, Viktor Gerdin, Yichi Zhang, Yifan Mai, Yifan Zou, Yueyang Qiu.