Flink学习-day1

Apache Flink

概述

Flink是构建在数据流之上的有状态计算的流计算框架,通常被⼈们理解为是 第三代 ⼤数据分析⽅案。

① 第⼀代 - Hadoop的MapReduce计算(静态)、Storm流计算(2014.9) ;两套独⽴计算引擎,使⽤难度⼤
② 第⼆代 - Spark RDD 静态批处理(2014.2)、DStream|Structured Streaming 流计算;统⼀计算引擎,难度系数⼩
③ 第三代 - Flink DataStream(2014 .12) 流计算框架、Flink Dataset 批处理;统⼀计算引擎,难度系数不低也不⾼

可以看出Spark和Flink⼏乎同时诞⽣,但是Flink之所以发展慢,是因为早期⼈们对⼤数据的分析的认知不够深刻或者当时业务场景⼤都局限在批处理领域,从⽽导致了Flink的发展相⽐较于Spark较为缓慢,直到2016年⼈们才开始慢慢的意识流计算的重要性。

流计算领域:系统监控、舆情监控、交通预测、国家电⽹、疾病预测、银⾏/⾦融⻛控等。

更多详细分析:https://blog.csdn.net/weixin_38231448/article/details/100062961

Spark VS Flink战略
在这里插入图片描述

概念

Task和Operator Chain

Flink是⼀个分布式流计算引擎,该引擎将⼀个计算job拆分成若⼲个Task(等价于Spark中的Stage),每个Task都有⾃⼰的并⾏度,每个并⾏度都由⼀个线程表示,因为⼀个Task是并⾏执⾏的,因此⼀个Task底层对应⼀系列的线程,Flink称为这些线程为该Task的subtask。与Spark不同的地⽅在于Spark是通过RDD的依赖关系实现Stage的划分⽽Flink是通过 OperatorChain 的概念实现Task的拆分。所谓的OperatorChain 指的是Flink在做job编织的时候,尝试将多个操作符算⼦进⾏串联到⼀个Task中,以减少数据的线程到线程传输的开销,⽬前Flink常⻅的Operatorchain的⽅式有两种:forward(串联)、hash|rebalance.
在这里插入图片描述Task:等价spark中的Stage,每个Task都有若⼲个SubTask。
SubTask:等价⼀个线程,是Task中的⼀个⼦任务。
OperatorChain:将多个算⼦归并到⼀个Task的⼀种机制,归并原则类似SparkRDD的宽窄依赖。

JobManagers、TaskManagers、Clients

JobManagers:(也称为master)负责协调分布式执⾏。负责任务调度,协调检查点,协调故障恢复等,等价于Spark中的Master+Driver的功能。通常⼀个集群中⾄少有1个Active的JobManager,如果在HA模式下其他处于StandBy状态。

TaskManagers:(称为Worker) 真正负责Task执⾏计算节点,同时需要向JobManager汇报⾃身状态信息和⼯作负荷。通常⼀个集群中有若⼲个TaskManager。

client:与Spark不同,Flink中的Client并不是集群计算的⼀部分,Client仅仅负责提交任务的Dataflow Graph给JobManager,提交完成之后,可以直接退出。因此该Client并不负责任务执⾏过程中调度。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无敌火车滴滴开

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值