美文网首页
strcuted streaming OutputMode讲解

strcuted streaming OutputMode讲解

作者: 王金松 | 来源:发表于2019-05-14 23:13 被阅读0次

outputMode分类

  • append
  • update
  • complete

trigger和window的区别

window可以认为是统计窗口,
比如我们需要统计5分钟的访问量,则窗口为滚动窗口,窗口大小为5min,步长为5min
比如我们需要每隔1分钟统计过去5分钟的访问量,则窗口为滑动窗口,窗口大小为5min,步长为1min
trigger视为批次,因为structed stremaing是流式处理,而对于这种窗口统计,我们需要按批量处理。比如上面5min的窗口,我们设置10s中的trigger,则10s对数据做一次计算,然后5min做一个整体的计算。
而outputMode就是针对一个窗口内的不同trigger是否输出数据和输出什么样的数据

不同mode的区别

举一个例子:
如果我们需要做统计打点图,打点粒度是5min,我们10s一个trigger:
如果outputMode=update,则每个trigger完成之后只要数据有更新,则会输出一次。所以打点图的效果五分钟的点会随着每个trigger后数据的变化而变化,这样的结果适合输出的redis,通过key进行覆盖;或者放到hbase,通过rowkey去增加版本
如果outputMode=append,则每个trigger完成之后无论数据是否有更新,都不会输出,他只会再窗口结束的时候,也就是5min的时候才会有一次整体的输出。所以打点图的效果是只有再5min的窗口到达之后,才会有一次输出,也就是打的点只有再窗口结束才会出现


image.png
image.png
  • complete
    每次都会输出全量的结果数据


    image.png

    每个窗口的数据都会记录下来,
    Complete mode does not drop old aggregation state since by definition this mode preserves all data in the Result Table.
    如下图


    image.png

相关文章

网友评论

      本文标题:strcuted streaming OutputMode讲解

      本文链接:https://www.haomeiwen.com/subject/cxhyaqtx.html