本文主要是介绍实例讲解:如何做定时输出,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天为大家带来flink时间系统系列最后一篇实战篇,同样也是查漏补缺篇:如何做定时输出,首先说一下定时输出的需求背景,在flink流处理中需要将任务处理的结果数据定时输出到外部存储中例如mysql/hbase等,如果我们单条输出就可能会造成对外部存储造成较大的压力,首先我们想到的批量输出,就是当需要输出的数据累计到一定大小然后批量写入外部存储,这种方式在flink 官方文档的operator state篇其实给了很好的实践例子,实现了批量输出并且对内存中缓存的数据做了state容错机制,保证数据不会丢失,但是同样存在这样的场景:某些业务可能有高低峰期,在高峰的时候,批量输出在外部存储中可以查到结果数据,但是在业务低峰期可能很长时间都满足输出条件,导致的结果是很长时间都看不到结果数据,这个时候就需要做定时输出。
先来看下一下大家可能想到的几种定时输出方案:
一、在sinkFunction 里面做一个定时器定时将内存的数据输出到外部存储,但是这里有两点需要考虑:a. 自己做定时器是一个异步执行过程,如果抛
这篇关于实例讲解:如何做定时输出的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!