失效链接处理 |
Flink基础讲义 PDF 下蝲
本站整理下蝲Q?/strong>
链接Q?a target="_blank">https://pan.baidu.com/s/1SOkuJAZ1DfQuFQ5SnO3qKg
提取码:q2pz
相关截图Q?/strong>
![]()
主要内容Q?/strong>
W一?Flink介【了解?/div>
1.1.Flink的引?/div>
q几q大数据的飞速发展,出现了很多热门的开源社区,其中著名的有 Hadoop、StormQ以及后来的 SparkQ他们都有着各自专注的应用场景。Spark 掀开了内存计的先河Q也以内存ؓ赌注Q赢得了内存计算的飞速发展。Spark 的火热或多或的掩盖了其他分布式计算的系ln影。就?FlinkQ也在q个时候默默的发展着?/div>
在国外一些社区,有很多h大数据的计引擎分成了 4 代,当然Q也有很多h不会认同。我们先姑且q么认ؓ和讨论?/div>
首先W一代的计算引擎Q无疑就?Hadoop 承蝲?MapReduce。这里大家应该都不会?MapReduce 陌生Q它?yu)计分Z个阶D,分别?Map ?Reduce。对于上层应用来_׃得不x设法L分算法,甚至于不得不在上层应用实现多?Job 的串联,以完成一个完整的法Q例如P代计?/div>
׃q样的弊端,催生了支?DAG 框架的生。因此,支持 DAG 的框架被划分为第二代计算引擎。如 Tez 以及更上层的 Oozie。这里我们不ȝI各U?DAG 实现之间的区别,不过对于当时?Tez ?Oozie 来说Q大多还是批处理的Q务?/div>
接下来就是以 Spark Z表的W三代的计算引擎。第三代计算引擎的特点主要是 Job 内部?DAG 支持Q不跨越 JobQ,以及的实时计。在q里Q很多h也会认ؓW三代计引擎也能够很好的运行批处理?Job?/div>
随着W三代计引擎的出现Q促q了上层应用快速发展,例如各种q代计算的性能以及Ҏ(gu)计算?SQL {的支持。Flink 的诞生就被归在了W四代。这应该主要表现?Flink Ҏ(gu)计算的支持,以及更一步的实时性上面。当?Flink 也可以支?Batch 的Q务,以及 DAG 的运?/div>
大数据的4代计引?nbsp;
W?代: Hadoop MapReduc批处?Mapper、Reducer 2.
W?代: DAG框架QOozie 、TezQ,Tez + MapReduce 批处?1个Tez = MR(1) + MR(2) + ... + MR(n) 相比MR效率有所提升
W?代: Spark 批处理、流处理、SQL高层API支持 自带DAG 内存q代计算、性能较之前大q提
W?代: Flink 批处理、流处理、SQL高层API支持 自带DAG 式计算性能更高、可靠性更?/div>
首先Q我们可以通过下面的性能试初步了解两个框架的性能区别Q它们都可以Z内存计算框架q行实时计算Q所以都拥有非常好的计算性能。经q测试,Flink计算性能上略好?/div>
试环境Q?nbsp;
1.CPUQ?000个;
2.内存Q单?28GBQ?nbsp;
3.版本QHadoop 2.3.0QSpark 1.4QFlink 0.9
4.数据Q?00MBQ?GBQ?TBQ?nbsp;
5.法QK-meansQ以I间中K个点Z心进行聚c,Ҏ(gu)靠近它们的对象归cR通过q代的方法,逐次更新各聚cM心的|直至得到最好的聚类l果?nbsp;
6.q代QK=10Q?l数?nbsp;
Spark和Flink全部都运行在Hadoop YARN上,性能为Flink > Spark > Hadoop(MR)QP代次数越多越明显Q性能上,Flink优于Spark和Hadoop最主要的原因是Flink支持增量q代Q具有对q代自动优化的功?/div>
Flink和spark的差?/div>
SparkStreaming Flink
定义 Ҏ(gu)的分布式数据集Qƈ非真正的实时计算 真正的流计算Q就像storm一P
但flink同时支持有限的数据流计算Q批处理Q?/div>
高容?span style="white-space:pre"> ZRDD?checkpoint,比较沉重 checkpointQ快照),非常轻量U?/div>
内存理 JVM相关操作暴露l用?span style="white-space:pre"> Flink在JVM中实现的是自q内存理
延时 中等100ms ?0ms
1.2.什么是Flink
Flinkh于Stratosphere目QStratosphere是在2010~2014q由3所地处柏林的大学和Ƨ洲的一些其他的大学共同q行的研I目,2014q?月Stratosphere的代码被复制q捐赠给了Apache软g基金会,参加q个孵化目的初始成员是Stratospherepȝ的核心开发h员,2014q?2月,Flink一跃成为Apache软g基金会的目?/div>
在d语中QFlink一词表C快速和灵yQ项目采用一只松鼠的彩色图案作ؓlogoQ这不仅是因为松鼠具有快速和灵y的特点,q因为柏林的N有一U迷人的U棕Ԍ而Flink的松鼠logo拥有可爱的尾_ַ的颜色与Apache软g基金会的logo颜色相呼应,也就是说Q这是一只Apache风格的松鼠?/div>
?Flink Logo
Flink主页在其剙展示了该目的理念:“Apache Flink是ؓ分布式、高性能、随时可用以及准的处理应用程序打造的开源流处理框架”?/div>
Apache Flink是一个框架和分布式处理引擎,用于Ҏ(gu)界和有界数据进行有状态计。Flink被设计在所有常见的集群环境中运行,以内存执行速度和Q意规模来执行计算?/div>
1.3.Flink处理特?/div>
1)支持高吞吐、低延迟、高性能的流处理
2)支持带有事g旉的窗口(WindowQ操?/div>
3)支持有状态计的Exactly-once语义
4)支持高度灉|的窗口(WindowQ操作,支持Ztime、count、sessionQ以及data-driven的窗口操?/div>
5)支持h背压功能的持l流模型
6)支持Z轻量U分布式快照QSnapshotQ实现的定w
7)一个运行时同时支持Batch on Streaming处理和Streaming处理
8)Flink在JVM内部实现了自q内存理
9)支持q代计算
10)支持E序自动优化Q避免特定情况下Shuffle、排序等昂贵操作Q中间结果有必要q行~存
|