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基本原理及应用场景-LMLPHP

Flink基本原理及应用场景-LMLPHP

Flink架构

  • 支持scala和java API
  • 支持Table(SQL)
  • 支持图操作(Flink Gelly)
  • 支持机器学习(Flink ML)
  • 支持将Flink程序部署到Yarn

Flink基本原理及应用场景-LMLPHP

Flink基本组件

Flink基本原理及应用场景-LMLPHP

 Flink应用场景分析

  • 优化电商网站的实时搜索结果
  • 针对数据分析团队提供实时流处理服务
  • 网络/传感器检测和错误检测
  • 商业智能分析ETL

 

03-24 21:24