Spark Structured Stream: 输出模式(append,update,complete)

1.complete:

每一个trigger到来时,就输出整个完整的dataframe

完整的不是说这个时间点的完整的dataframe,而是从开始流到结束的所有的dataframe,效果大概是这样的

这个时window下的,如果非window的话还是一个完整的sink,所以window下容易内存爆炸。。用的时候要注意

2. append

只输出新添加的(原来没有的)Row()(如果是groupby,要有watermark才可以)

每当一个watermark时间结束了,这个临时的结果再回转换成正式的结果并导出。

3.update

只输出那些被修改的Row。

每一次window sliding,就去跟原来的结果比较,有变化就输出

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spark Structured Streaming 中的 AppendComplete、Update 三种输出模式与前面所提到的 AI 对话系统中的输出模式有类似之处,但是在具体实现和使用上有所不同。 1. Append 模式:该模式下,只有新增的数据才会被输出,已有数据不会被更新。在这种模式下,输出结果只包含新的数据,不包含历史数据。该模式适用于数据不需要更新的场景,比如说对于一组计算的结果,每次只需要使用最新的结果即可。 2. Complete 模式:该模式下,所有的数据都会被输出,而且输出结果会包含历史数据和新数据的计算结果。在这种模式下,Spark会全部计算完所有数据后进行输出。该模式适用于需要输出完整结果的场景,比如说需要输出各个时间段的交易总额。 3. Update 模式:该模式下,只有更新的数据会被输出,历史数据不会被输出。在这种模式下,Spark会在每个批次之间进行数据的增量计算,并且只输出新增的和修改过的数据。该模式适用于需要实时更新结果的场景,比如说需要实时监控某个指标的变化。 总的来说,三种模式各有优缺点,可以根据具体的场景和需求来选择使用。Append 模式适用于数据无需更新的情况,Complete 模式适用于需要输出完整结果的场景,Update 模式适用于需要实时监控变化的场景。同时,不同的输出模式对计算性能和资源消耗也有所不同,需要综合考虑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值