首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么DoFnTester不再支持finishBundle()中的输出?

DoFnTester是Apache Beam中的一个测试工具,用于测试DoFn函数的行为和输出。在Apache Beam 2.0.0及之后的版本中,DoFnTester不再支持在finishBundle()方法中输出数据。

这个变化是由于Apache Beam在2.0.0版本中引入了新的执行模型,称为Splittable DoFn。Splittable DoFn允许将输入数据分割成多个部分并并行处理,以提高处理性能。在Splittable DoFn中,finishBundle()方法被废弃,不再支持输出数据。

Splittable DoFn的设计目标是提高处理性能和可伸缩性,通过将输入数据分割成多个部分并行处理,可以更好地利用计算资源。然而,这也导致了一些限制,例如无法在finishBundle()方法中输出数据。

如果您需要在DoFn函数的finishBundle()方法中输出数据,您可以考虑使用其他方法来实现。例如,您可以在DoFn函数的processElement()方法中收集输出数据,并在整个Bundle处理完成后进行处理。或者,您可以将输出数据发送到外部系统或存储中,以供后续处理和分析。

总结起来,DoFnTester不再支持在finishBundle()方法中输出数据是因为Apache Beam引入了新的执行模型Splittable DoFn,为了提高处理性能和可伸缩性,对输出数据的处理做出了一些限制。如果您需要在finishBundle()方法中输出数据,可以考虑使用其他方法来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券