上一篇我们谈论了Flink stream source,它作为流的数据入口是整个DAG(有向无环图)拓扑的起点。那么与此对应的,流的数据出口就是跟source对应的Sink。这是我们本篇解读的内容。
SinkFunction
跟SourceFunction
对应,Flink针对Sink的根接口被称为SinkFunction
。继承自Function
这一标记接口。SinkFunction
接口只提供了一个方法:
void invoke(IN value) throws Exception;
该方法提供基于记录级别的调用(也就是每个被输出的记录都会调用该接口一次)。上面方法的参数value
即为需要输出的记录。
SinkFunction
相对来说比较简洁,下面我们来看一下它的实现者。
内置的SinkFunction
同样,我们先来看一下完整的类型继承体系:
DiscardingSink
这是最简单的SinkFunction的