1.Flink 是什么
Apache旗下
Apache Fink is a framework and distribution processing engine for stateful computions over unbounded and bounded data stream;
有状态的计算
基于数据流进行分布式计算
现在alibaba已经收购了研发Flink的公司,原先是一家德国的公司开发的
2.为什么用Flink
事件驱动:不同的事件触发不同的操作
流水线:信息来了以后,经过一连串的操作
批处理:数据积攒到一定批量以后,统一处理
可以从各种各种的存储介质中获取数据过来,处理完成,也可以存放到任意存储介质中去
3.Flink应用场景
电商和市场营销
实时报表
广告投放
实时推荐
物联网
实时数据采集
实时报警
银行和金融业
实时结算
风险监测
物流配送以及服务
订单状态跟踪
信息推送
那为什么要选择Flink
可以进行批处理,也可以进行流处理
高吞吐
低延迟
准确性,容错性 —如果发生错误,可以回滚到之前的状态,继续往下执行
如果要求高并发,高吞吐,网络宽带,和集群都可以很容易扩容,但是最大的瓶颈在于数据处理、数据源操作这块
storm是第一代流式处理框架
spark 主要做批处理,即便spark streaming做流处理,本质也是将数据分成一个一个的
微批次
数据,最后还是批
,属于伪实时,适用于海量批处理
Flink 主要做流处理, 流分为
有界
和无界
4.Flink的分层API
SQL 最高层语言 ,提供的函数有限,还在不断补充
Table API 声明式领域专用语言
DataStream /DataSet API 核心APIS 常用API
有状态处理
底层APIS 用于实现复杂的需求
高版本的Flink,用DataStream 就可以操作流处理和批处理