Apache Beam 2.16.0

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

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

亮点

  • Beam 可移植运行器在 Python 2.7、3.5、3.6、3.7 上发布并支持可定制的 Docker 容器映像。(BEAM-7907)
  • Python Streaming on Dataflow 的集成改进,包括自动缩放、排空、更新、流式引擎和计数器更新等服务功能。

新功能 / 改进

  • 基于与 BigQuery 兼容的 HyperLogLog++ 实现的新型计数 distinct 变换。(BEAM-7013)
  • Google Cloud Dataflow 中 Python 流式作业的变换的 Web UI 图形表示中的元素计数器。(BEAM-7045)
  • 在 Python SDK 中添加 SetState。(BEAM-7741)
  • 向 Dataflow Runner 添加热键检测。(BEAM-7820)
  • 添加从 gRPC JobService 获取已提交作业列表的功能。(BEAM-7927)
  • 可移植的 Flink 管道现在可以捆绑到可执行的 jar 中。(BEAM-7966BEAM-7967)
  • SQL 连接选择应在规划器中完成,而不是在扩展到 PTransform 中完成。(BEAM-6114)
  • 用于 BigQuery 的 Python 接收器,在流式处理中使用文件加载。(BEAM-6611)
  • Python BigQuery 接收器应该能够处理 15TB 的加载作业配额。(BEAM-7588)
  • Spark 可移植运行器:重用 SDK 运行程序。(BEAM-7600)
  • BigQuery 文件加载可与加载作业大小限制配合使用。(BEAM-7742)
  • 带有容器化工作器池的外部环境。(BEAM-7980)
  • 将 OffsetRange 用作 OffsetRestrictionTracker 的限制。(BEAM-8014)
  • 获取 SDK 工作器 Docker 容器的日志。(BEAM-8015)
  • PCollection 有界性在 python sdk 中被跟踪和传播。(BEAM-8088)

依赖项更改

  • 将“com.amazonaws:amazon-kinesis-producer”升级到版本 0.13.1。(BEAM-7894)
  • 升级到 joda time 2.10.3 以获取更新的 TZDB。(BEAM-8161)
  • 将 Jackson 升级到版本 2.9.10。(BEAM-8299)
  • 将 grpcio 的最低要求版本升级到 1.12.1。(BEAM-7986)
  • 在 Python2 中将 funcsigs 的最低要求版本升级到 1.0.2。(BEAM-7060)
  • 将 google-cloud-pubsub 的最大要求版本升级到 1.0.0。(BEAM-5539)
  • 将 google-cloud-bigtable 的最大要求版本升级到 1.0.0。(BEAM-5539)
  • 将 dill 版本升级到 0.3.0。(BEAM-8324)

错误修复

  • 各种错误修复和性能改进。

已知问题

  • 鉴于 Python 2 将于 2020 年 1 月 1 日 达到 EOL,Beam 的 Python 2 用户现在将收到警告,即 Apache Beam 的新版本将很快只支持 Python 3。
  • 在 FlinkRunner 中使用 FileIO.write 未正确注册文件系统。(BEAM-8303)
  • Java DirectRunner 在流式模式下的性能下降。(BEAM-8363)
  • 无法在 macOS 10.15 上安装 Python SDK。(BEAM-8368)

贡献者列表

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

Ahmet Altay, Alex Van Boxel, Alexey Romanenko, Alexey Strokach, Alireza Samadian, Andre-Philippe Paquet, Andrew Pilloud, Ankur Goenka, Anton Kedin, Aryan Naraghi, B M VISHWAS, Bartok Jozsef, Bill Neubauer, Boyuan Zhang, Brian Hulette, Bruno Volpato, Chad Dombrova, Chamikara Jayalath, Charith Ellawala, Charles Chen, Claire McGinty, Cyrus Maden, Daniel Oliveira, Dante, David Cavazos, David Moravek, David Yan, Dominic Mitchell, Elias Djurfeldt, Enrico Canzonieri, Etienne Chauchot, Gleb Kanterov, Hai Lu, Hannah Jiang, Heejong Lee, Ian Lance Taylor, Ismaël Mejía, Jack Whelpton, James Wen, Jan Lukavský, Jean-Baptiste Onofré, Jofre, Kai Jiang, Kamil Wasilewski, Kasia Kucharczyk, Kenneth Jung, Kenneth Knowles, Kirill Kozlov, Kohki YAMAGIWA, Kyle Weaver, Kyle Winkelman, Ludovic Post, Luis Enrique Ortíz Ramirez, Luke Cwik, Mark Liu, Maximilian Michels, Michal Walenia, Mike Kaplinskiy, Mikhail Gryzykhin, NING KANG, Oliver Henlich, Pablo Estrada, Rakesh Kumar, Renat Nasyrov, Reuven Lax, Robert Bradshaw, Robert Burke, Rui Wang, Ruoyun Huang, Ryan Skraba, Sahith Nallapareddy, Salman Raza, Sam Rohde, Saul Chavez, Shoaib, Shoaib Zafar, Slava Chernyak, Tanay Tummalapalli, Thinh Ha, Thomas Weise, Tianzi Cai, Tim van der Lippe, Tomer Zeltzer, Tudor Marian, Udi Meiri, Valentyn Tymofieiev, Yichi Zhang, Yifan Zou, Yueyang Qiu, gxercavins, jesusrv1103, lostluck, matt-darwin, mrociorg, ostrokach, parahul, rahul8388, rosetn, sunjincheng121, the1plummie, ttanay, tvalentyn, venn001, yoshiki.obata, Łukasz Gajowy