关于spark structed stream 流中的触发trigger间隔的理解

这里的讨论先把continue stream这种场景排除掉,只讨论常规的spark的微批量场景,

  1. 如果不执行trigger触发器的时候,spark是尽可能快的分批处理数据,但是多快说不好,
    一般是100ms以上,所以这里几乎可以理解成差不多100ms一个微批
  2. 显式的指定触发间隔,Trigger.ProcessingTime(“2 seconds”),这里每个批次就是2s一批数据

关于kafka或者file作为输入源时的maxOffsetPerTrigger和maxFilePerTrigger参数的理解:
相当于每次触发一个微批的数据里面最多包含maxOffset或者N个文件里面的数据量,这个和trigger的触发间隔没有任何关系

关于output model输出模式的理解:输出模式会反过来影响数据输出的方式(拿带窗口时间的聚合作为例子),比如:如果是Append输出模式的话,
数据会一直等到wartermark时间时候才输出数据,这样数据就固定了,超过wartermark的时间来的数据就直接丢弃了。
但是如果是update输出模式的话,每次触发时间同一个key会变,不会一直等到wartermark之后
才输出一次结果,而是从出现到wartermark期间,每次触发都更新对应key的value并输出

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值