博客 & 发布
2022/04/20
Apache Beam 2.38.0
我们很高兴推出 Beam 的新版本 2.38.0。此版本包含改进和新功能。有关此版本的更多信息,请查看下载页面。
有关 2.38.0 中更改的更多信息,请查看详细的发布说明。
I/O
- 在 Java SDK 中引入了投影下推优化器(BEAM-12976)。优化器目前仅适用于BigQuery 存储 API,但在未来的版本中会添加更多 I/O。如果您遇到与优化器相关的错误,请提交 JIRA 并使用管道选项
--experiments=disable_projection_pushdown
禁用优化器。 - 添加了一个用于 Neo4j 图数据库的新 I/O。(BEAM-1857)它能够使用 UNWIND 语句更新节点和关系,并使用带有参数的 cypher 语句读取数据。
amazon-web-services2
已经达到功能奇偶校验,最终建议使用它来代替之前的amazon-web-services
和kinesis
模块(Java)。这些模块将在下一个版本中被弃用(BEAM-13174)。- 添加了对
Kinesis
的长期未完成的写入支持(BEAM-13175)。 - 配置得到简化,并在所有 I/O 中保持一致,包括
AwsOptions
的使用(BEAM-13563,BEAM-13663,BEAM-13587)。 - 此外,
S3
文件系统还有一些最新的改进和修复(BEAM-13245,BEAM-13246,BEAM-13441,BEAM-13445,BEAM-14011),DynamoDB
I/O(BEAM-13209,BEAM-13209),SQS
I/O(BEAM-13631,BEAM-13510)等等。
- 添加了对
新功能/改进
- 通过
--requirements_file
提供的管道依赖项现在将使用 linux_x86_64 平台上 PyPI 包的二进制分发版(轮子)暂存到运行器(BEAM-4032)。要恢复使用源分发版,请设置管道选项--requirements_cache_only_sources
。要跳过在提交时暂存包,请设置管道选项--requirements_cache=skip
(Python)。 - Flink 运行器现在支持 Flink 1.14.x(BEAM-13106)。
- 交互式 Beam 现在支持在 Dataproc 上远程执行 Flink 管道(Python)(BEAM-14071)。
重大更改
- (Python)以前
DoFn.infer_output_types
预计返回Iterable[element_type]
,其中element_type
是 PCollection 元素类型。现在它预计返回element_type
。如果您在DoFn
中覆盖了infer_output_type
(这并不常见),请注意。请查看BEAM-13860。 - (
amazon-web-services2
)AwsOptions
中的awsRegion
/endpoint
类型已从 String 更改为Region
/URI
(BEAM-13563)。
弃用
- Beam 2.38.0 将是最后一个支持 Flink 1.11 的次要版本。
- (
amazon-web-services2
)客户端提供程序(withXYZClientProvider()
)以及特定于 I/O 的RetryConfiguration
已被弃用,请改用withClientConfiguration()
或AwsOptions
来配置 AWS I/O / 客户端。客户端提供程序的自定义实现应替换为相应的ClientBuilderFactory
,并通过AwsOptions
进行配置(BEAM-13563)。
错误修复
- 修复了大型对象的 S3 复制问题(Java)(BEAM-14011)
- 修复了管道规范化的二次行为(Go)(BEAM-14128)
- 这会导致大型复杂管道在作业提交之前出现不必要的长时间预处理。
- 修复了
pyarrow
版本解析(Python)(BEAM-14235)
已知问题
- 请查看影响此版本的所有已知问题。
贡献者列表
根据 git shortlog,以下人员为 2.38.0 版本做出了贡献。感谢所有贡献者!
abhijeet-lele Ahmet Altay akustov Alexander Alexander Zhuravlev Alexey Romanenko AlikRodriguez Anand Inguva andoni-guzman andreukus Andy Ye Ankur Goenka ansh0l Artur Khanin Aydar Farrakhov Aydar Zainutdinov Benjamin Gonzalez Brian Hulette brucearctor bulat safiullin bullet03 Carl Mastrangelo Chamikara Jayalath Chun Yang Daniela Martín Daniel Oliveira Danny McCormick daria.malkova David Cavazos David Huntsperger dmitryor Dmytro Sadovnychyi dpcollins-google egalpin Elias Segundo Antonio emily Etienne Chauchot Hengfeng Li Ismaël Mejía Israel Herraiz Jack McCluskey Jakub Kukul Janek Bevendorff Jeff Klukas Johan Sternby Kamil Breguła Kenneth Knowles Ke Wu Kiley Kyle Weaver laraschmidt Lara Schmidt LE QUELLEC Olivier Luka Kalinovcic Luke Cwik Marcin Kuthan masahitojp Masato Nakamura Matt Casters Melissa Pashniak Michael Li Miguel Hernandez Moritz Mack mosche nancyxu123 Nathan J Mehl Niel Markwick Ning Kang Pablo Estrada paul-tlh Pavel Avilov Rahul Iyer Reuven Lax Ritesh Ghorse Robert Bradshaw Robert Burke Ryan Skraba Ryan Thompson Sam Whittle Seth Vargo sp029619 Steven Niemitz Thiago Nunes Udi Meiri Valentyn Tymofieiev Victor vitaly.terentyev Yichi Zhang Yi Hu yirutang Zachary Houfek Zoe