Apache Beam 2.19.0

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

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

亮点

I/O

  • BEAM-1440 为 Python SDK 创建 BigQuery 数据源(实现 iobase.BoundedSource)
  • BEAM-2572 为 Python SDK 实现 S3 文件系统
  • BEAM-5192 支持 Elasticsearch 7.x
  • BEAM-8745 对 BigQuery 加载作业的大小进行更细粒度的控制
  • BEAM-8801 PubsubMessageToRow 不应在 processElement 中检查 useFlatSchema()
  • BEAM-8953 扩展 ParquetIO.Read/ReadFiles.Builder 以支持 Avro GenericData 模型
  • BEAM-8946 报告 MongoDBIOIT 的集合大小
  • BEAM-8978 报告 HadoopFormatIOIT 的已保存数据大小

新功能 / 改进

  • BEAM-6008 改善 Java/Python PortableRunner 中的错误报告
  • BEAM-8296 将 Spark 作业服务器容器化
  • BEAM-8746 允许本地作业服务在 Docker 内部运行
  • BEAM-8837 PCollectionVisualizationTest:可能的错误
  • BEAM-8139 执行可移植的 Spark 应用程序 jar
  • BEAM-9019 改善 Spark 编码器(Beam 编码器的包装器)
  • BEAM-9053 改善无法为 Python SDK 中指定的路径获取正确文件系统的错误消息) 改善无法为 Python SDK 中指定的路径获取正确文件系统的错误消息
  • BEAM-9055 统一跨语言的 Fn Data API 配置名称

SQL

  • BEAM-5690 BeamSql 在使用 SparkRunner 时 GroupByKey 出现问题
  • BEAM-8993 [SQL] MongoDb 应使用谓词下推
  • BEAM-8844 [SQL] 为 BigQueryTable 创建性能测试
  • BEAM-9023 升级到 ZetaSQL 2019.12.1

重大变更

  • BEAM-8989 ParDo.getSideInputs 中存在向后不兼容的更改(在运行 Apache Nemo 快速入门时被错误捕获)
  • BEAM-8402 与 Python DirectRunner 中环境表示方式相关的向后不兼容的更改。
  • BEAM-9218 Beam 2.18.0 上的模板暂存出现故障

依赖关系更改

  • BEAM-8696 Beam 依赖关系更新请求:com.google.protobuf:protobuf-java
  • BEAM-8701 Beam 依赖关系更新请求:commons-io:commons-io
  • BEAM-8716 Beam 依赖关系更新请求:org.apache.commons:commons-csv
  • BEAM-8717 Beam 依赖关系更新请求:org.apache.commons:commons-lang3
  • BEAM-8749 Beam 依赖关系更新请求:com.datastax.cassandra:cassandra-driver-mapping
  • BEAM-5546 Beam 依赖关系更新请求:commons-codec:commons-codec

错误修复

  • BEAM-9123 HadoopResourceId 返回错误的目录名称
  • BEAM-8962 FlinkMetricContainer 会导致 JobManager 中出现抖动,并导致 Web 前端出现故障
  • BEAM-5495 PipelineResources 算法在大多数环境中均无法正常工作
  • BEAM-8025 Cassandra IO classMethod 测试不稳定
  • BEAM-8577 在 ResourceId 反序列化期间,文件系统可能尚未初始化
  • BEAM-8582 Python SDK 为 Default 和 AfterWatermark 触发器发出重复记录
  • BEAM-8943 当 SDK 运行时环境清理失败时,SDK 运行时服务器无法正常关闭
  • BEAM-8995 apache_beam.io.gcp.bigquery_read_it_test 在 Py3.5 PC 上出现故障:TypeError: JSON 对象必须为 str,而不是 'bytes'
  • BEAM-8999 PGBKCVOperation 不尊重时间戳组合器
  • BEAM-9050 Beam 序列化器无法序列化 **module** 设置为 None 的类。
  • 各种错误修复和性能改进。

贡献者列表

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

Ahmet Altay、Alex Amato、Alexey Romanenko、Andrew Pilloud、Ankur Goenka、Anton Kedin、张博远、Brian Hulette、Brian Martin、Chamikara Jayalath、Charles Chen、Craig Chambers、Daniel Oliveira、David Moravek、David Rieber、Dustin Rhodes、Etienne Chauchot、Gleb Kanterov、Hai Lu、Heejong Lee、Ismaël Mejía、Jan Lukavský、Jason Kuster、Jean-Baptiste Onofré、Jeff Klukas、João Cabrita、J Ross Thomson、Juan Rael、Juta、Kasia Kucharczyk、Kengo Seki、Kenneth Jung、Kenneth Knowles、Kyle Weaver、Kyle Winkelman、Lukas Drbal、Łukasz Gajowy、Marek Simunek、Mark Liu、Maximilian Michels、Melissa Pashniak、Michael Luckey、Michal Walenia、Mike Pedersen、Mikhail Gryzykhin、Niel Markwick、Pablo Estrada、Pascal Gula、Reuven Lax、Rob、Robbe Sneyders、Robert Bradshaw、Robert Burke、Rui Wang、黄若云、Ryan Williams、Sam Rohde、Sam Whittle、Scott Wegner、Thomas Weise、胡天阳、ttanay、tvalentyn、Tyler Akidau、Udi Meiri、Valentyn Tymofieiev、刘欣宇、徐明民