flink入门(1)

flink简介

flink是什么?

Apache Flink是一个面向分布式数据流处理批量数据处理的开源计算平台,提供支持流处理批处理两种类型应用的功能。

flink来历

Apache flink来自于柏林理工大学的一个研究性项目,在2014年被Apache孵化器接受,然后迅速成为了Apache Software Funcdation的顶级项目之一。

flink特点

现有的开源计算方案,会把流处理和批量处理作为两种不同的应用类型:

  流处理一般需要支持低延迟(毫秒级别)、Exactly-once保证(数据只消费一次)

  批处理需要支持高吞吐、高效处理

flink是完全支持流处理的,也就是说作为流处理看待时,输入数据流是无界的;‘

批处理被作为一种特殊的流处理,只是它的输入’数据流被定义为有界的的;

flink组件栈

  • Deployment层(部署层)
    • flink的部署模式:本地、集群(Standalone/YARN(生产中应用))、云(GCE/EC2)

  • runtime层:
    • 提供了支持flink计算的全部核心实现
      • 比如:支持分布式Stream处理,JobGraph到ExecutionGraph的映射、调度等等,为上层API提供基础服务
  • API层
    • 实现了面向无界Stream的流处理
      • DataStream API
    • 面向Batch的批处理的API
      • DateSet API
  • Libaries层
    • 在API层之上 构建的满足特定应用的实现计算框架,也分别对应于 面向流处理 和 面向批处理

flink自身优势

  1. 支持高吞吐、低延迟、高性能的流处理(同样的业务代码,吞吐量优于Spark streaming 和 Strom)
  2. 支持高度灵活的窗口操作(Window)
  3. 支持有状态计算的Exactly-one语义
  4. 提供DateStream API 和 DateSet API

其他框架比较

猜你喜欢

转载自blog.csdn.net/cyg521/article/details/104535614
今日推荐