首页
学习
活动
专区
工具
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()方法中输出数据,可以考虑使用其他方法来实现。

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

相关·内容

  • java 汉字 %ms对不齐_Java中文问题及最优解决方法

    计算机最初的操作系统支持的编码是单字节的字符编码,于是,在计算机中一切处理程序最初都是以单字节编码的英文为准进行处理。随着计算机的发展,为了适应世界其它民族的语言(当然包括我们的汉字),人们提出了UNICODE编码,它采用双字节编码,兼容英文字符和其它民族的双字节字符编码,所以,目前,大多数国际性的软件内部均采用UNICODE编码,在软件运行时,它获得本地支持系统(多数时间是操作系统)默认支持的编码格式,然后再将软件内部的UNICODE转化为本地系统默认支持的格式显示出来。java的JDK和jvm即是如此,我这里说的JDK是指国际版的JDK,我们大多数程序员使用的是国际化的JDK版本,以下所有的JDK均指国际化的JDK版本。我们的汉字是双字节编码语言,为了能让计算机处理中文,我们自己制定的gb2312、GBK、GBK2K等标准以适应计算机处理的需求。所以,大部分的操作系统为了适应我们处理中文的需求,均定制有中文操作系统,它们采用的是GBK,GB2312编码格式以正确显示我们的汉字。如:中文Win2K默认采用的是GBK编码显示,在中文WIN2k中保存文件时默认采用的保存文件的编码格式也是GBK的,即,所有在中文WIN2K中保存的文件它的内部编码默认均采用GBK编码,注意:GBK是在GB2312基础上扩充来的。

    04
    领券