• 当所有窗口都有数据时启动窗口: AfterWatermark • 基于数据量的触发器: AfterCount • 基于处理时间的触发器: AfterProcessingTime • 基于事件时间的触发器: AfterWatermarkEarlyAndLate
windowed_elements = (p | beam.Create(data) | beam.WindowInto(window.FixedWindows(60)) | beam.ParDo(MyTransformer()) | beam.ParDo(MyDoFn()) | beam.ParDo(MyFilter()) | beam.ParDo(MyMap()) | beam.CombineGlobally(beam.combiners.ToListCombineFn()) | beam.ParDo(MyFinalTransform()) | beam.WindowInto(window.FixedWindows(60), trigger=trigger.AfterCount(10)))
windowed_elements = (p | beam.Create(data) | beam.WindowInto(window.FixedWindows(60)) | beam.ParDo(MyTransformer()) | beam.ParDo(MyDoFn()) | beam.ParDo(MyFilter()) | beam.ParDo(MyMap()) | beam.CombineGlobally(beam.combiners.ToListCombineFn()) | beam.ParDo(MyFinalTransform()) | beam.WindowInto(window.FixedWindows(60), trigger=trigger.AfterWatermark( early=timestamps.EarliestFirst, late=timestamps.LatestFirst, watermark=timedelta(minutes=-5))))
windowed_elements = (p | beam.Create(data) | beam.WindowInto(window.FixedWindows(60)) | beam.ParDo(MyTransformer()) | beam.ParDo(MyDoFn())
上一篇:ApacheBeam:IllegalStateException-Valueonlyavailableatruntimeafterupgradingtobeam2.41.0
下一篇:ApacheBeam:WriteToBigQuery无法正常工作,如果在之前使用了有状态转换,除非应用重新划分时间窗口。