首页 > IT职业 > IT图书 > Flink的sink实战之一:初探
内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;
下图来自Flink官方,红框中就是sink,可见实时数据从Source处开始,在Transformation阶段完成业务逻辑后在sink结束,因此sink可以用来处理计算结果,例如控制台输出或者保存数据库:
本文是《Flink的sink实战》的第一篇,旨在初步了解sink,通过对基本API和addSink方法的分析研究,为后续的编码实战打好基础;

8. 从上图可见抽象类RichSinkFunction与各种sink能力的关系十分紧密,我们应该重点关注它,在类图上展示方法签名,如下图:
9. 如上图所示,RichSinkFunction本身没有内容,但是它实现SinkFunction,继承AbstractRichFunction,是RichFunction和SinkFunction这两种特性的结合;
10. RichFunction的特性在前面的[《Flink的DataSource三部曲》]中已经了解,就是资源的open和close;
11. SinkFunction的特性呢?显然是用来处理计算结果的,类图上显示的是两个invoke方法,来看看官方的PrintSinkFunction.java:
12. writer.write(record)的源码在PrintSinkOutputWriter.java,如下所示:
至此,我们已经对Flink的sink有了基本了解:
后面的章节,一起进行sink方面的编码实战吧,实战的方向:体验官方提供的sink能力,自定义sink能力实现;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1627/viewspace-2826526/ ,如需转载,请注明出处,否则将追究法律责任。