博客 & 发布
2021/08/25
Apache Beam 2.32.0
我们很高兴推出 Apache Beam 的新版本 2.32.0。此版本包含改进和新功能。请参见此版本的下载页面。
有关 2.32.0 中更改的更多信息,请查看详细发布说明。
亮点
- Beam DataFrame API 现已不再处于实验阶段!自从2.26.0 预览公告发布以来,我们一直在实施最常用的 pandas 操作(BEAM-9547),改进文档和错误消息,添加示例,将 DataFrames 与交互式 Beam 集成,当然也找到并修复了错误。退出实验阶段仅仅意味着我们现在对 API 充满信心,并建议将其用于生产工作负载。我们将根据您的反馈继续改进 API。
I/Os
- 添加了在没有语句和 preparedStatementSetter 的情况下使用 JdbcIO.Write.withResults 的功能。(BEAM-12511)
- 添加了通过 FileIO 注册 URI 方案以使用 S3 协议的功能。(BEAM-12435)。
- 尊重 SnowflakeWrite 批处理模式中设置的分片数量。(BEAM-12715)
- Java SDK:更新 Google Cloud Healthcare IO 连接器,从使用 v1beta1 切换到使用 GA 版本。
新功能/改进
- 添加了将 Beam 架构转换为 Avro 架构的支持,适用于 JDBC 逻辑类型:
VARCHAR
、NVARCHAR
、LONGVARCHAR
、LONGNVARCHAR
、DATE
、TIME
(Java)(BEAM-12385)。 - 通过分区从 JDBC 源读取(Java)(BEAM-12456)。
- PubsubIO 现在可以在解析错误后写入死信主题(Java)(BEAM-12474)。
- Elasticsearch 接收器的全新追加专用选项(Java)BEAM-12601
重大更改
- ListShards(使用 DescribeStreamSummary)已取代 DescribeStream,用于列出 Kinesis 流中的分片。由于此更改,如AWS 文档中所述,对于细粒度 IAM 策略,需要更新它们以允许调用 ListShards 和 DescribeStreamSummary API。有关更多信息,请参见控制对 Amazon Kinesis 数据流的访问(BEAM-12225)。
弃用
- 在 Beam 2.33 中,Python GBK 将停止支持具有全局窗口和默认触发器的无界 PCollection。这可以通过
--allow_unsafe_triggers
覆盖。(BEAM-9487)。 - 从 Beam 2.33 开始,Python GBK 将开始要求安全触发器或
--allow_unsafe_triggers
标志。(BEAM-9487)。
错误修复
- 修复了 RabbitMqIO 中导致重复确认的竞争条件(Java)(BEAM-6516)
贡献者列表
根据 git shortlog,以下人员为 2.32.0 版本做出了贡献。感谢所有贡献者!
Ahmet Altay, Ajo Thomas, Alex Amato, Alexey Romanenko, Alex Koay, allenpradeep, Anant Damle, Andrew Pilloud, Ankur Goenka, Ashwin Ramaswami, Benjamin Gonzalez, BenWhitehead, Blake Williams, Boyuan Zhang, Brian Hulette, Chamikara Jayalath, Daniel Oliveira, Daniel Thevessen, daria-malkova, David Cavazos, David Huntsperger, dennisylyung, Dennis Yung, dmkozh, egalpin, emily, Esun Kim, Gabriel Melo de Paula, Harch Vardhan, Heejong Lee, heidimhurst, hoshimura, Iñigo San Jose Visiers, Ismaël Mejía, Jack McCluskey, Jan Lukavský, Justin King, Kenneth Knowles, KevinGG, Ke Wu, kileys, Kyle Weaver, Luke Cwik, Maksym Skorupskyi, masahitojp, Matthew Ouyang, Matthias Baetens, Matt Rudary, MiguelAnzoWizeline, Miguel Hernandez, Nikita Petunin, Ning Ding, Ning Kang, odidev, Pablo Estrada, Pascal Gillet, rafal.ochyra, raphael.sanamyan, Reuven Lax, Robert Bradshaw, Robert Burke, roger-mike, Ryan McDowell, Sam Rohde, Sam Whittle, Siyuan Chen, Teng Qiu, Tianzi Cai, Tobias Hermann, Tomo Suzuki, tvalentyn, Tyson Hamilton, Udi Meiri, Valentyn Tymofieiev, Vitaly Terentyev, Yichi Zhang, Yifan Mai, yoshiki.obata, Yu Feng, YuqiHuai, yzhang559, Zachary Houfek, zhoufek