概述
flink的sink是flink三大逻辑结构之一(source,transform,sink),功能就是负责把flink处理后的数据输出到外部系统中,flink 的sink和source的代码结构类似。
在编写代码的过程中,我们可以使用flink已经提供的sink,如kafka,jdbc,es等,当然我们也可以通过自定义的方式,来实现我们自己的sink。下面说明核心类
核心类
SinkFunction 是一个接口,类似于SourceFunction接口。SinkFunction中主要包含一个方法,那就是用于数据输出的invoke 方法,每条记录都会执行一次invoke方法,用于执行输出操作。
// Writes the given value to the sink. This function is called for every record.default void invoke(IN value) throws Exception
default void invoke(IN value, Context context) throws Exception
// Context接口中返回关于时间的信息interface Context {
/** Returns the current processing time. */
long currentProcessingTime();
/** Returns the current event-time watermark. */
long currentWatermark();
/*** Returns the timestamp of the current input record or {@code null

本文详细介绍了Flink中的sink概念及其作用,重点解析了Flink的SinkFunction接口,以及如何自定义MySQL Sink。通过分析PrintSinkFunction的内部实现,展示了数据输出的流程。此外,还提供了一个实例,演示了如何创建一个将Flink数据流写入MySQL数据库的自定义sink,并给出了完整的代码示例。
最低0.47元/天 解锁文章
7510

被折叠的 条评论
为什么被折叠?



