Apache Beam 2.18.0

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

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

亮点

  • BEAM-8470 - 基于 Spark 结构化流框架创建一个新的 Spark 运行器

I/Os

  • BEAM-7636 - 添加了 SqsIO v2 支持。
  • BEAM-8513 - RabbitMqIO: 允许从与交换机绑定的队列中读取数据,而无需声明交换机。
  • BEAM-8540 - 修复 FileIO 文档中的 CSVSink 示例

新功能/改进

SQL

  • BEAM-8343 - [SQL] 添加方法,使 I/O API 在运行 SQL 管道时支持谓词和/或投影下推。以及 BEAM-8468BEAM-8365BEAM-8508
  • BEAM-8427 - [SQL] 添加对 MongoDB 数据源的支持。
  • BEAM-8456 - 添加管道选项,用于控制 Beam SQL 处理的 BigQuery 数据的截断。

重大变更

  • BEAM-8814 - –no_auth 标志更改为布尔类型。

弃用

  • BEAM-8252BEAM-8254 添加 worker_region 和 worker_zone 选项。弃用 –zone 标志和 –worker_region 实验参数。

依赖项变更

  • BEAM-7078 - com.amazonaws:amazon-kinesis-client 更新至 1.13.0。
  • BEAM-8822 - 将 Hadoop 依赖项升级至版本 2.8。

错误修复

  • BEAM-7917 - Python 数据存储 v1new 在重试时失败。
  • BEAM-7981 - ParDo 函数包装器不支持 Iterable 输出类型。
  • BEAM-8146 - SchemaCoder/RowCoder 没有 equals() 函数。
  • BEAM-8347 - 如果没有新数据传入,UnboundedRabbitMqReader 可能无法推进水印。
  • BEAM-8352 - 在后台读取记录可能会导致 OOM 错误
  • BEAM-8480 - 为有界读取器包装器 SDF 显式设置限制编码器。
  • BEAM-8515 - 确保 ValueProvider 类型已实现 equals/hashCode 用于比较目的。
  • BEAM-8579 - 在 TextSource 中去除 UTF-8 BOM 字节(如果存在)。
  • BEAM-8657 - 针对数据驱动触发器未进行 Combiner 提升。
  • BEAM-8663 - BundleBasedRunner 叠加捆绑包不尊重 PaneInfo。
  • BEAM-8667 - 数据通道应避免在 Python SDK 中进行无限缓冲。
  • BEAM-8802 - 时间戳组合器在流式模式下未在捆绑包之间遵守。
  • BEAM-8803 - Python BQ 流式插入接收器的默认行为应始终重试。
  • BEAM-8825 - 当写入大量“狭窄”行时出现 OOM。
  • BEAM-8835 - 使用 FlinkUberJarJobServer 时工件检索失败
  • BEAM-8836 - ExternalTransform 未提供唯一的名称
  • BEAM-8884 - Python MongoDBIO 在拆分时出现 TypeError。
  • BEAM-9041 - SchemaCoder equals 不应依赖于 from/toRowFunction 的相等性。
  • BEAM-9042 - AvroUtils.schemaCoder(schema) 会生成不可序列化的 SchemaCoder。
  • BEAM-9065 - Spark 运行器在运行之间累积指标(不正确)。
  • BEAM-6303 - 在 ParquetIO 中向文件添加 .parquet 扩展名。
  • 各种错误修复和性能改进。

已知问题

  • BEAM-8882 - Python: beam.Create 现在不再保留顺序,除非传递 reshuffle=False 作为参数。

    在使用 DirectRunner 时可能会遇到此问题。

  • BEAM-9065 - Spark 运行器在运行之间累积指标(不正确)

  • BEAM-9123 - HadoopResourceId 返回错误的目录名称

  • 查看影响此版本的 所有开放问题的完整列表

  • BEAM-9144 - 如果您在 Beam 中使用 Avro 1.9.x,则不应升级到此版本。时间戳转换存在问题。下一个版本将提供修复程序。

贡献者列表

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

Ahmet Altay, Aizhamal Nurmamat kyzy, Alan Myrvold, Alexey Romanenko, Alex Van Boxel, Andre Araujo, Andrew Crites, Andrew Pilloud, Aryan Naraghi, Boyuan Zhang, Brian Hulette, bumblebee-coming, Cerny Ondrej, Chad Dombrova, Chamikara Jayalath, Changming Ma, Chun Yang, cmachgodaddy, Colm O hEigeartaigh, Craig Chambers, Daniel Oliveira, Daniel Robert, David Cavazos, David Moravek, David Song, dependabot[bot], Derek, Dmytro Sadovnychyi, Elliotte Rusty Harold, Etienne Chauchot, Hai Lu, Henry Suryawirawan, Ismaël Mejía, Jack Whelpton, Jan Lukavský, Jean-Baptiste Onofré, Jeff Klukas, Jincheng Sun, Jing, Jing Chen, Joe Tsai, Jonathan Alvarez-Gutierrez, Kamil Wasilewski, KangZhiDong, Kasia Kucharczyk, Kenneth Knowles, kirillkozlov, Kirill Kozlov, Kyle Weaver, liumomo315, lostluck, Łukasz Gajowy, Luke Cwik, Mark Liu, Maximilian Michels, Michal Walenia, Mikhail Gryzyk, Niel Markwick, Ning Kang, nlofeudo, pabloem, Pablo Estrada, Pankaj Gudlani, Piotr Szczepanik, Primevenn, Reuven Lax, Robert Bradshaw, Robert Burke, Rui Wang, Ruoyun Huang, RusOr10n, Ryan Skraba, Saikat Maitra, sambvfx, Sam Rohde, Samuel Husso, Stefano, Steve Koonce, Steve Nie, sunjincheng121, Thomas Weise, Tianyang Hu, Tim Robertson, Tomo Suzuki, tvalentyn, Udi Meiri, Valentyn Tymofieiev, Viola Lyu, Wenjia Liu, Yichi Zhang, Yifan Zou, yoshiki.obata, Yueyang Qiu, ziel, 康智冬