概述
一、什么是Flink
Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams.
Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行状态计算。
二、那我们为什么选择Flink呢?
1)流数据可以更加真实的反映了我们的生活方式;
2)传统的数据架构是基于有限数据集的;
3)我们的目标是追求低延迟、高吞吐、结果的准确性和良好的容错性;
三、目前哪些行业需要进行流式数据的处理呢?
1)电商和市场营销(数据报表、广告投放、业务流程需要);
2)物联网(IOT)(传感器实时数据采集和显示、实时报警。交通运输业)
3)电信业(基站流量调配)
4)银行和金融业(实时结算和通知推送,实时检测异常行为)
四、传统的数据处理架构
1)事务处理过程
2)分析处理:将数据从业务数据库复制到数仓,再进行分析和查询。
3)有状态的流式处理
五、流处理的演变
1)lambda架构
用两套系统,同时保证低延迟和结果准确
2)流处理的演变
六、Flink的主要特点
1)事件驱动(Event-driven)
2)基于流的世界观
在Flink的世界观中,一切都是由流组成的,离线数据是有界的流;实时数据是一个没有界限的流;这就是所谓的有界流和无界流。
3)分层API
越顶层越抽象,表达含义越简明,使用越方便;
越底层越具体,表达能力越丰富,使用越灵活;
七、Flink的其他特点
1)支持事件时间(event-time)和处理时间(processing-time)语义;
2)精确一次(exectly-once)的状态一致性保证;
3)低延迟,每秒钟处理数百万个事件,毫秒级延迟;
4)与众多常用存储系统的连接;
5)高可用,动态扩展,实现7*24小时全天候运行;
八、Flink vs Spark Streaming
1)流(stream)和微批(micro-batching)
2)数据模型
----spark采用RDD模型,spark streaming的DStream实际上也就是一组组小批数据RDD的集合;
----flink基本数据模型是数据流,以及事件(Event)序列
3)运行时架构
----spark 是批计算,将DAG划分为不同的Stage,一个完成之后才可以计算下一个;
----flink是标准的流执行模式,一个事件在一个节点处理完之后可以直接发往下一个节点进行后续处理;
最后
以上就是温婉糖豆为你收集整理的流处理框架Flink介绍的全部内容,希望文章能够帮你解决流处理框架Flink介绍所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复