作为实时领域对飙spark的存在,flink现在已经得到广泛的使用了,既然能得到业界任何和使用,肯定有其过人之处,之后工作中也有可能会用到,了解一下总是没错的。
什么是flink
Flink核心是一个流式的数据流执行引擎,提供各种API,如Java、Scala和Python,同事支持类似SQL的操作。
为什么选flink
数据传输方式
首先需要了解两个概念:
1.流处理:当一条数据被处理完成后,序列化到缓存中,然后立刻通过网络传输到下一个节点,由下一个节点继续处理;
2.批处理:当一条数据被处理完成后,序列化到缓存中,并不会立刻通过网络传输到下一个节点,当缓存写满,就持久化到本地硬盘上,当所有数据都被处理完成后,才开始将处理后的数据通过网络传输到下一个节点。
故流处理的优势是低延迟,批处理的优势是高吞吐,而flink可以通过调整缓存块的超时阈值,灵活地权衡系统延迟和吞吐量。
作业流程
flink作业提交流程:
其中&