当前位置:网站首页>Flink's sink: a preliminary study
Flink's sink: a preliminary study
2020-11-08 16:12:00 【Programmer Xinchen】
Welcome to visit mine GitHub
https://github.com/zq2599/blog_demos
Content : All original articles classified summary and supporting source code , involve Java、Docker、Kubernetes、DevOPS etc. ;
About sink
The following figure comes from Flink official , In the red box is sink, Visible real-time data from Source Start at , stay Transformation After the business logic is completed in sink end , therefore sink It can be used to process the calculation results , For example, console output or save database : 
About 《Flink Of sink actual combat 》 Series articles
This article is about 《Flink Of sink actual combat 》 The first chapter of , In order to have a preliminary understanding of sink, Through the basic API and addSink Method analysis and research , Lay a good foundation for the subsequent coding practice ;
Full series Links
- 《Flink Of sink One of the real battles : On 》
- 《Flink Of sink The second part of the actual battle :kafka》
- 《Flink Of sink The third part of the actual battle :cassandra3》
- 《Flink Of sink The fourth part of the actual battle : Customize 》
Start with an instance code
- Here is a simple flink Application code , The red box print The way is sink operation :

- Here's the official sink The way , All are DataStream Class API, It can be directly called sink, Just in the code print It's one of them :

- Let's look at the picture above API Source code , First look at print Method , stay DataStream.java in , as follows , It's actually called addSink Method , Participation is PrintSinkFunction:

- The other is often used API yes writeAsText, Source code is as follows , Called writeUsingOutputFormat Method :

- track <font color="blue">writeUsingOutputFormat</font> Discovery is also called addSink, Participation is <font color="blue">OutputFormatSinkFunction</font>:

- print and writeAsText Behind the call addSink, So another common <font color="blue">writeAsCsv</font> Methods? ? It's a call addSink? Open it and see , and writeAsText Same call <font color="blue">writeUsingOutputFormat</font>, In this method, you are calling addSink:

- in summary ,data sink The key is <font color="blue">addSink</font> Input , namely <font color="blue">SinkFunction</font> Interface implementation , Use class diagrams to visualize common sink How is ability realized :
8. From the figure above, we can see the abstract class <font color="blue">RichSinkFunction</font> With all kinds of sink Ability is closely related , We should focus on it , Show method signature on class diagram , Here's the picture :
9. As shown in the figure above ,<font color="blue">RichSinkFunction</font> There is no content in itself , But it does <font color="blue">SinkFunction</font>, Inherit <font color="blue">AbstractRichFunction</font>, yes <font color="blue">RichFunction</font> and <font color="blue">SinkFunction</font> The combination of these two characteristics ; 10. <font color="blue">RichFunction</font> The characteristics of are in front of 《Flink Of DataSource Trilogy 》 We already know , It's about resources open and close; 11. <font color="blue">SinkFunction</font> The characteristics of ? It's obviously used to process the calculation results , The class diagram shows two invoke Method , Take a look at the official <font color="blue">PrintSinkFunction.java</font>:
12. <font color="blue">writer.write(record)</font> The source code is PrintSinkOutputWriter.java, As shown below : 
Summary
thus , We're right Flink Of sink With a basic understanding :
- Be responsible for the processing of real-time calculation results ( Like output or persistence );
- The main implementation is to call DataStream.addSink Method ;
- Various sink The realization of ability , The main way is to achieve addSink The interface defined by the input parameter of the method ;
Later chapters , Together with sink Let's practice the coding of the aspect , The direction of actual combat : Experience the official sink Ability , Customize sink Ability to achieve ;
Welcome to the official account : Xinchen, programmer
WeChat search 「 Xinchen, programmer 」, I'm Xinchen , Looking forward to traveling with you Java The world ... https://github.com/zq2599/blog_demos
版权声明
本文为[Programmer Xinchen]所创,转载请带上原文链接,感谢
边栏推荐
- Mac环境安装Composer
- I used Python to find out all the people who deleted my wechat and deleted them automatically
- LiteOS-消息队列-实战
- 我用 Python 找出了删除我微信的所有人并将他们自动化删除了
- Xiaoqingtai officially set foot on the third day of no return
- Arduino ide build esp8266 development environment, slow file download solution | esp-01 make WiFi switch tutorial, transform dormitory lights
- wanxin finance
- 我用 Python 找出了删除我微信的所有人并将他们自动化删除了
- Is there no way out for older programmers?
- 浅谈OpenGL之DSA
猜你喜欢

The birth of a new integrated memory and computing chip is conducive to the application of artificial intelligence~

laravel8更新之维护模式改进

Comics: looking for the best time to buy and sell stocks

markdown使用

We made a medical version of the MNIST dataset, and found that the common automl algorithm is not so easy to use

Android Basics - check box

How to make a correct summary for 7 years?

CSP考试须知与各种小技巧

Do these mistakes in your resume affect your annual salary of one million?

write文件一个字节后何时发起写磁盘IO
随机推荐
Stm32uberide download and install - GPIO basic configuration operation - debug (based on CMSIS DAP debug)
性能压测时,并发压力增加,系统响应时间和吞吐量如何变化
Comics: looking for the best time to buy and sell stocks
小青台正式踏上不归路的第3天
构建者模式(Builder pattern)
搭载固态硬盘的服务器究竟比机械硬盘快多少
Talk about go code coverage technology and best practices
LiteOS-消息队列-实战
write文件一个字节后何时发起写磁盘IO
SQL quick query
RabbitMQ之Helloworld
Millet and oppo continue to soar in the European market, and Xiaomi is even closer to apple
AI周报:允许“员工自愿降薪”;公司回应:员工内心高兴满意;虎牙HR将员工抬出公司;瑞典禁用华为中兴5G设备
I used Python to find out all the people who deleted my wechat and deleted them automatically
API生命周期的5个阶段
TypeScript(1-2-2)
Examples of unconventional aggregation
Drink soda, a bottle of soda water 1 yuan, two empty bottles can change a bottle of soda, give 20 yuan, how much soda can you
阿里云视频云技术专家 LVS 演讲全文:《“云端一体”的智能媒体生产制作演进之路》
RestfulApi 学习笔记——父子资源(四)