当前课程知识点:大数据平台核心技术 >  第八讲 内存计算 >  业界经典系统技术分析-spark&flink >  业界经典系统技术分析-spark&flink(主讲人:强琦)

返回《大数据平台核心技术》慕课在线视频课程列表

业界经典系统技术分析-spark&flink(主讲人:强琦)在线视频

业界经典系统技术分析-spark&flink(主讲人:强琦)

下一节:大规模数据的分布式机器学习平台(主讲人:褚葳)

返回《大数据平台核心技术》慕课在线视频列表

业界经典系统技术分析-spark&flink(主讲人:强琦)课程教案、知识点、字幕

课程刚开始我就介绍到了

两个大名鼎鼎的系统

结合上面提到过的

核心技术点

我将会简要介绍一下

spark系统和flink系统

可以看到spark在写

WordCount的函数

整个一个处理代码非常简单

读一行一行的数据是udtf

把它数据按照空格

把它打成一个一个的

map发现key

而Reduce做加法

最终存储

大家可以看到spark做

PageRank

简要的来看

大家可以注意这个Case

这是spark做内存reuse 数据reuse

一个很经典的案例

我们之前 MapReduce

做迭代计算的时候

大家注意到这张Link表

关系表

也就是说 每轮迭代的时候

MapReduce

都会把这张Link表

以及PageRank表

写入HDFS

在下一轮迭代重新加载

所以 这个造成了大量的

无效的IO开销和网络开销

可以看到Spark

将这张Link表catch以后

这张表在后面的迭代

按照partition

它一直都在加载内存

而在本轮迭代的Map以后

这个Map操作的Shuffle

是与这个关系表的

partition是一致的

所以 保证了这个

Map的本地化

Join的本地化

可以看到

关系表先去

Join这个初始化的Link

然后 这两个dataset 这两个RDD

按照partition去Shuffle切齐的

所以 这个Join都是本地命中

然后 一个URL命中

它的初度以后

通过一个flag map

由一个list变成多个数据

然后每个数据

去把它的新的Map

在向它自己的初边发射出去

而这个emit

这个Shuffle

又会组成新的PageRank的RDD

可以看到最底下这个reduceby

就把它所有的入度

给它的PageRank更新值

算出一个最终的rank值

然后进行下一轮迭代

Flink也是最近

在阿帕奇孵化的一个项目

当然 Flink改了一个名字

在几年前

在德国的一个学术机构

就已经在做这个Flink

Flink 这张图是非常有意思的

Flink跟Spark最大不同

在于它引入了一个

Pipeline的执行框架

所以 就如同我们之前介绍的

统一计算框架里头

MML分Batch是一样

所以大家可以看到这张图表

当数据量超过了物理内存的

界限的时候Spark

要进行计算的时候

它一定要通过

因为Spark还是一个stage by stage

就算串行的计算系统

它一定要通过

我们刚刚说的落盘的

sort merge

所以 它的计算时间是

计算的延时是线性成长上去

而Flink类似于分Batch运行

所以 每批次它都可以

进行内存操作

这是一个实测的结果图

当然 Flink在迭代计算

也有一些特殊的考量

比如说它的delta计算

也就是说 大量研究表明

类似于像PageRank这样计算

百分之三四十的节点

其实是在最初的十轮迭代

后面的值

迭代更新已经不显著

所以 它们完全可以不参与

后阶段的迭代计算

这样就可以

节省大量的Shuffle

网络资源和IO资源

Flink支持用户编写

非常容易的代码

来进行早停

也就是说 节点在

收敛度数不大的情况下

进行早停

大量的计算可以避免

所以 大家也可以看这张图

在引入delta计算以后

Flink的迭代收敛速度

大大提高

所以 返回到这个例子

我们再去看

其实 在大规模数据下

stage by stage的模型

其实不可避免的

超过物理内存的界限

而使整个计算延迟 加剧

我们到底采用怎么样的技术

使得即便数据量超过内存的

物理界限

而我们又可以进行

完全的内存计算

我们正在在这个方面进行大量的尝试

大家可以看到

内存计算和统一计算框架

近期发展非常迅速

但远远还没有达到

我们期望的阶段

尚有大量的技术难点

有待我们去攻克

在这个领域

仍然有非常多的机会

和非常大的空间

等待同学们去攻克

那我和大家的分享就到这里

谢谢大家

大数据平台核心技术课程列表:

第一讲 大数据和ODPS

-主讲人:武永卫

--大数据处理平台概述(主讲人:武永卫)

-主讲人:程永

--大数据平台ODPS(主讲人:程永)

-QUIZ--作业

第二讲 分布式存储

-大纲

--大纲(主讲人:姚文辉)

-初步认识大数据对分布式存储系统的需求

--初步认识大数据对分布式存储系统的需求

-理解大数据对分布式存储系统的需求

--理解大数据对分布式存储系统的需求(主讲人:姚文辉)

-具体说明大数据对分布式存储系统的需求

--具体说明大数据对分布式存储系统的需求(主讲人:姚文辉)

-大规模分布式存储的挑战

--大规模分布式存储的挑战(主讲人:姚文辉)

-小概率事件-Raid卡故障

--小概率事件-Raid卡故障(主讲人:姚文辉)

-分布式存储系统举例

--分布式存储系统举例(主讲人:姚文辉)

-分布式存储系统重要功能设计要点剖析

--分布式存储系统重要功能设计要点剖析(主讲人:姚文辉)

-链式写正常流程

--链式写正常流程(主讲人:姚文辉)

-写流程的另一种常见方式:主从模式

--写流程的另一种常见方式:主从模式(主讲人:姚文辉)

-链式写异常流程

--链式写异常流程(主讲人:姚文辉)

-写异常处理的另一种方法-Seal and New

--写异常处理的另一种方法-Seal and New(主讲人:姚文辉)

-读正常流程

--读正常流程(主讲人:姚文辉)

-读流程优化-BackupRead

--读流程优化-BackupRead(主讲人:姚文辉)

-IO QoS

--IO QoS(主讲人:姚文辉)

-数据正确性:checksum

--数据正确性:checksum(主讲人:姚文辉)

-数据可靠性-Replication

--数据可靠性-Replication(主讲人:姚文辉)

-数据均衡-Rebalance

--数据均衡-Rebalance(主讲人:姚文辉)

-垃圾回收-Garbage collection

--垃圾回收-Garbage collection(主讲人:姚文辉)

-Erasure coding

--Erasure coding(主讲人:姚文辉)

-Erasure coding(3,2)写入和读取过程

--Erasure coding(3,2)写入和读取过程(主讲人:姚文辉)

-元数据管理的高可用性和可扩展性

--元数据管理的高可用性和可扩展性(主讲人:姚文辉)

-元数据管理的高可用性

--元数据管理的高可用性(主讲人:姚文辉)

-Paxos概要

--Paxos概要(主讲人:姚文辉)

-Raft

--Raft(主讲人:姚文辉)

-元数据管理的可扩展性

--元数据管理的可扩展性(主讲人:姚文辉)

-不同存储介质的特性

--不同存储介质的特性(主讲人:姚文辉)

-盘古混合存储

--盘古混合存储(主讲人:姚文辉)

-QUIZ--作业

第三讲 资源管理与任务调度

-阿里云飞天分布式调度

--阿里云飞天分布式调度(主讲人:陶阳宇)

-任务调度

--任务调度(主讲人:陶阳宇)

-资源调度

--资源调度(主讲人:陶阳宇)

-容错机制

--容错机制(主讲人:陶阳宇)

-规模挑战

--规模挑战 (主讲人:陶阳宇)

-安全域性能隔离

--安全域性能隔离(主讲人:陶阳宇)

-分布式调度的发展方向

--分布式调度的发展方向(主讲人:陶阳宇)

-QUIZ--作业

第四讲 分布式编程模型的设计与演化

-数据格式和抽象

--数据格式和抽象(主讲人:吴威)

-分布式编程模型

--分布式编程模型(主讲人:吴威)

-MapReuduce编程模型

--MapReuduce编程模型(主讲人:吴威)

-关系型数据编程模型

--关系型数据编程模型(主讲人:吴威)

-分布式图计算模型

--分布式图计算模型(主讲人:吴威)

-分布式编程未来展望

--分布式编程未来展望(主讲人:吴威)

-QUIZ--作业

实践1:通过两阶段提交协议完成数据上传

-分布式事务

--分布式事务 (主讲人:冯骁)

-分布式一致性算法

--分布式一致性算法(主讲人:冯骁)

-两阶段提交与三阶段提交

--两阶段提交与三阶段提交(主讲人:冯骁)

-实践--介绍

--实践--介绍(主讲人:冯骁)

第五讲 离线分布式关系型计算

-关系型计算基本原理_1

--离线分布式关系型计算_1(主讲人:王鹏飞)

-关系型计算基本原理_2

--关系型计算基本原理_2(主讲人:王鹏飞)

-分布式环境中的连接计算和聚合计算

--分布式环境中的连接计算和聚合计算(主讲人:王鹏飞)

-其他计算和物理优化

--其他计算和物理优化(主讲人:王鹏飞)

-QUIZ--作业

第六讲 全局数据管理与调度

-提纲

--提纲(主讲人:罗李)

-课程背景介绍

--课程背景介绍(主讲人:罗李)

-前序知识

--前序知识(主讲人:罗李)

-分布式节点距离计算法则

--分布式节点距离计算法则(主讲人:罗李)

-数据分布策略

--数据分布策略(主讲人:罗李)

-分布式计算调度

--分布式计算调度(主讲人:罗李)

-数据就近原则计算如何容错

--数据就近原则计算如何容错(主讲人:罗李)

-ODPS跨集群数据依赖

--ODPS跨集群数据依赖(主讲人:罗李)

-QUIZ--作业

实践2:编写MR完成Group By+Join操作

-主讲人:谢德军

--实践2:编写MR完成Group By+Join操作(主讲人:谢德军)

第七讲 流式计算的系统设计与实现

-增量计算和流式计算

--流式计算的系统设计与实现(主讲人:强琦)

-与批量计算的区别

--与批量计算的区别(主讲人:强琦)

-业界典型系统技术概要分析

--业界典型系统技术概要分析(主讲人:强琦)

-核心技术

--核心技术(主讲人:强琦)

-消息机制

--消息机制(主讲人:强琦)

-有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制

--有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制(主讲人:强琦)

-StreamSQL

--StreamSQL(主讲人:强琦)

-QUIZ--作业

第八讲 内存计算

-软硬件趋势、分布式计算简史与内存计算

--软硬件趋势、分布式计算简史与内存计算(主讲人:强琦)

-分布式计算

--分布式计算(主讲人:强琦)

-内存计算

--内存计算(主讲人:强琦)

-统一的计算框架

--统一的计算框架(主讲人:强琦)

-业界经典系统技术分析-spark&flink

--业界经典系统技术分析-spark&flink(主讲人:强琦)

-QUIZ--作业

第九讲 大规模数据的分布式机器学习平台

-主讲人:褚葳

--大规模数据的分布式机器学习平台(主讲人:褚葳)

-QUIZ--作业

实践3:实现MapReduce编程运行时库

-分布式环境下的新问题

--分布式环境下的新问题(主讲人:徐冬)

-工程实现范例

--工程实现范例(主讲人:徐冬)

-课程设计相关问题

--课程设计相关问题(主讲人:徐冬)

业界经典系统技术分析-spark&flink(主讲人:强琦)笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。