当前课程知识点:大数据平台核心技术 >  第四讲 分布式编程模型的设计与演化 >  分布式编程模型 >  分布式编程模型(主讲人:吴威)

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

分布式编程模型(主讲人:吴威)在线视频

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

下一节:MapReuduce编程模型(主讲人:吴威)

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

分布式编程模型(主讲人:吴威)课程教案、知识点、字幕

接下去我展开讲一下

关系型数据

这类数据典型的是

一个二维结构

有行结构和列结构

是数据处理中

最常见的数据类型

应用非常广泛

广泛保存在传统的

关系型数据库中

在我最熟悉的

阿里巴巴大数据领域

最原始的核心数据源

大部分是来自于淘宝

或者支付宝网站

的关系型数据库

比如MySQL、Oracle等

另外大部分网站的

日志数据也可以

表示成关系型数据

这里看一下常见的

关系型数据 抽象

这里的 抽象

只是在程序中的表达形式

虽然它们的名字各不相同

但本质上表达的

还是一类的东西

希望大家不要被迷惑了

第一种最简单的叫法

就是Table

在关系型数据库Hive

或者阿里云的ODPS里

最核心的数据表达形式

就是Table

第二种是在Apache Pig

里面叫做Relation

也就是关系

Pig和Hive都是

Hadoop生态圈里面的软件

人们用它们来处理存储在

分布式文件系统里面的数据

第三种是来自Google的叫法

在Goole的Dataflow SDK

和介绍FlumeJava

的这篇论文里

关系型数据被叫做

PCollection或者PTable

第四种叫法来自Spark

在Spark里面

有个核心的概念叫做RDD

RDD的全称是

有弹性的分布式数据集

是UC Berkeley大学

的新发明

它们定义了数据集上

的一系列简单操作

还包括缓存 容错

并行化等功能

让数据处理更加简单

RDD是整个Spark技术

体系的核心

有兴趣的同学可以看看

参考文献里的论文

或者下载Spark软件

自己体验一下

但是

RDD的核心还是数据

也就是我们这里提到的

关系型数据

当然还有其它的系统有着对

关系型数据结构的不同叫法

我在这里就不一一展开了

说完了数据

我们回到编程模型上

来说说什么是我们

真正想要的编程模型

我心目中的分布式编程模型

需要满足下面的要求

第一点是大数据时代

必须要解决的问题

就是要能处理

TB以及PB以上的数据量

所以我们这个编程模型

也是以数据为中心的编程模型

在科学计算领域

可能要分布式地计算π的值

但是这个过程本身

没有使用大量的数据

所以不是我们今天讨论的重点

另外 因为前面提到的

现实生活中存在

各类异构的数据格式

所以需要我们的编程模型

能应付这样的情况

接下去我们会介绍

不同的编程模型

这些编程模型可能

只适合某种数据格式

当然最好的情况是

有一种编程模型能满足

多种数据结构的运算需求

同时

对数据的处理效率

也是有要求的

在单机环境下

处理上PB的数据

可能需要几年

这显然不符合我们的要求

我们需要在几小时

甚至几分钟内

处理上PB的数据

这必须使用多机并行

计算的能力

但是我们在前面的课程中

学习到分布式环境下的

存储和调度都是非常复杂的

我们不希望

在这种环境下的编程模型

也是复杂的

我们的编程模型需要

尽可能的简单易用

可以对用户隐藏

像盘古和伏羲之类的底层系统

这个编程模型可以看成

分布式领域的高级语言

而大家平时熟悉的C++

或者Java等底层语言

就是分布式领域的汇编

因为用普通的C++

或者Java编程需要

运用网络编程

分布式远程调用

负载均衡、容错、磁盘读写

内存操作等等知识

才能写出高效的分布式程序

但是以数据为中心的编程语言

是高级语言

它作了一定程度的抽象

底层细节被透明化了

需要注意的是

在分布式计算领域

从数据处理的时效性维度来看

还可以分成在线数据应用

和离线数据计算两大类

比如同样的SQL语言

在在线数据应用领域

可以处理类似于

小明买了一只手机

这样的操作

也可以完成

最近5年所有手机商城

成交量的计算需求

而后一种就是我们今天的主题

分布式离线数据计算

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

第一讲 大数据和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编程运行时库

-分布式环境下的新问题

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

-工程实现范例

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

-课程设计相关问题

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

分布式编程模型(主讲人:吴威)笔记与讨论

也许你还感兴趣的课程:

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