我正在使用一个子库将数据发布到BEAM中。我一直在尝试使用60秒间隔的固定窗口,但是当我发布数据时,数据会立即打印在屏幕上。它不是应该每60秒打印一次吗
代码如下所示:
objects = lines | 'Ex' >> beam.ParDo(ExtractorAndCounter())
windowed_lines = (
objects
| beam.WindowInto(window.FixedWindows(60))
| 'print' >> beam.Map(print))
而ExtractorAndCounter是一个简单的解析器
所以问题似乎是我没有任何适当的方法来处理从窗口出来的东西。一旦我在下面添加了GroupByKey,然后“打印”就开始正常工作了
在梁模型中,PCollection的窗口功能(示例中的固定窗口)在“下次应用分组变换时”使用。例如GroupByKey或联合收割机。映射是按元素进行的,而不是分组变换
在下面的链接中,第7.1节提供了一些很好的信息
7.1 Windowing
相关问题 更多 >
编程相关推荐