Flink简介
Flink、Spark和Storm对比
Flink、Spark Streaming、Storm、Storm Trient都可以进行实时计算,但各有特点。
如何选择实时框架:
1:需要关注流数据是否需要进行状态管理
2:At-least-once或者Exectly-once消息投递模式是否有特殊要求
3:对于小型独立的项目,并且需要低延迟的场景,建议使用storm
4:如果你的项目已经使用了spark,并且秒级别的实时处理可以满足需求的话,建议使用spark streaming
5:要求消息投递语义为Exactly Once的场景;数据量较大,要求高吞吐低延迟的场景;需要进行状态管理或窗口统计的场景,建议使用flink
Flink架构
- 支持scala和java API
- 支持Table(SQL)
- 支持图操作(Flink Gelly)
- 支持机器学习(Flink ML)
- 支持将Flink程序部署到Yarn
Flink基本组件
Flink应用场景分析
- 优化电商网站的实时搜索结果
- 针对数据分析团队提供实时流处理服务
- 网络/传感器检测和错误检测
- 商业智能分析ETL