一、Flink学习出发
Flink简介
**
大数据的飞速发展,也促使了各种计算引擎的诞生。
2006年2月诞生的Hadoop中的MapReduce,2014年9月份诞生的Storm以及2014年2月诞生的Spark都有着各自专注的应用场景。
特别是Spark开启了内存计算的先河,其计算速度比Hadoop的MapReduce快100倍,以此赢得了内存计算的飞速发展。或许因为早期人们对大数据的分析认知不够深刻,亦或许当时业务场景大都局限在批处理领域,从而使得Spark的火热或多或少的掩盖了其他分布式计算引擎的身影。但就在这个时候,有些分布式计算引擎也在默默发展着,直到2016年,人们才开始慢慢意识到流计算的重要性。
整个的分布式计算引擎中,通常被划分为三代
- 第一代 Hadoop的MapReduce做静态计算、Storm流计算。两套独立的计算引擎,使用难度比较大
- 第二代 Spark RDD做静态批处理、DStream|StructuredStreaming流计算;统一技术引擎,使用难度小
- 第三代 Flink DataSteam做流计算、DataSet批处理;统一技术引擎,使用难度一般
What is Apache Flink
Flink是2014年12月份诞生的一个流计算引擎。
ApacheFlink是一个用于在无界和有界数据流上进行有状态计算的框架和分布式处理引擎。
Flink被设计成在所有常见的集群环境中运行,以内存速度和任何规模执行计算。
Flink特点
- 可以处理无界以及有界数据流
- 随处部署应用程序命令执行远程部署图形界面(比较常用的)
- 以任何规模运行应用程序
- 充分利用内存性能
Spark VS Flink
Flink与Spark设计理念恰好相反
-Spark底层计算是批处理模型,在批处理基础上模拟流,从而导致了流计算实时性较低
-Flink底层计算是连续的流计算模型,在流计算上模拟批处理,既可以保证流的实时性又可以实现批处理
Flink安装