1.complete:
每一个trigger到来时,就输出整个完整的dataframe
完整的不是说这个时间点的完整的dataframe,而是从开始流到结束的所有的dataframe,效果大概是这样的
这个时window下的,如果非window的话还是一个完整的sink,所以window下容易内存爆炸。。用的时候要注意
2. append
只输出新添加的(原来没有的)Row()(如果是groupby,要有watermark才可以)
每当一个watermark时间结束了,这个临时的结果再回转换成正式的结果并导出。
3.update
只输出那些被修改的Row。
每一次window sliding,就去跟原来的结果比较,有变化就输出