当前课程知识点:大数据平台核心技术 >  第五讲 离线分布式关系型计算 >  关系型计算基本原理_1 >  离线分布式关系型计算_1(主讲人:王鹏飞)

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

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

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

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

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

离线分布式关系型计算_1(主讲人:王鹏飞)课程教案、知识点、字幕

亲爱的各位同学大家好

我是来自阿里云数据事业部

计算平台团队的王鹏飞

今天会和大家分享一下

分布式离线关系型计算的

基本原理和算法

说到关系型计算

可能大家会觉得略显陌生

但是说SQL大家一定会很熟

SQL全称结构化查询语言

被广泛用于关系型数据的

查询和处理

它的理念是告诉数据引擎

请完成什么样的计算

而不是如何完成这些计算

我们这次的分享不同

我们会聊一聊

如何在分布式上

完成这些计算

大家已经注意到

标题中离线分布式关系型

计算中的离线的二字

离线可以简单的理解成

数据一旦进入系统

就不会被改变

数据写入的过程当中

也不会被读取

读取的过程当中也不会被删除

实际应用中这是典型的

数据仓库场景

工程实践上

离线场景会极大的降低

系统实现难度

本次课程中我会首先用

比较朴素的方式简介一下

关系型计算几个

比较重要的方面

说一说逻辑查询计划

和物理查询计划

然后重点介绍集群上的连接

和聚合算法

最后会说一说工程实践上的

一些考虑的点和优化

首先给大家介绍一下

什么是关系型计算

然后我介绍的方式会比较朴素

首先说一说什么

叫做关系型数据

关系型数据实际上是由

行 列两个纬度

组成的二维数据

例如右边的那张图

它每行都包含所有列的数据

并且对应列的数据类型都相同

这个看上去是一个非常简单的

这个描述

但是实际上在使用的过程当中

这是一个一不小心

就会break掉的规则

它主要的这个计算

有那么几种

纵向切 横向切 聚合 连接

和基于窗口的计算

然后它还会有一些其他的

基于集合的计算

比如求并集和差集

但实际上并集和差集

可以由连接再加横向切

去计算出来

所以其他的集合运算

我们在这里并不介绍

纵向切是获取数据集的列

比如我们选择ID 姓名 年龄

这三列出来如下图所示

从左表当中我们纵向把

ID Name Age这三列切出来

切的结果就是这样

横向切和纵向切很类似

但是它是把一些行选择出来

比如说我们选择未婚的女士们

那么我们选出来的

是Married等于N的记录

聚合的典型应用

比如分别统计男士

和女士的数量

我们可以看到表当中

有一列叫做Gender

然后它标记了每一位用户

是男士还是女士

我们可以据此来统计出来

男士和女士的数量

对于这个应用

我们把所有是非Married

这个用户放到一起

放成一组分别是

张三 王五和周七

然后再把Married用户

放到一组分别是

李四 赵六和吴八

然后我们去分别数一数

每一组当中的记录条数

就会拿到这张表当中

男士有多少和女士有多少

聚合计算一般情况下

它会先按照不同的值去分组

然后再在每一组上

去计算这个结果

连接是一种非常

被使用非常广泛的计算

比如我们对于一张订单表

我们想了解这些订单

都是谁下的

大家注意到这张订单表里面

只有OrderID

UserID OrderDate和Cost

因为我们想知道这些

订单是谁下的

但是我们只有UserID

显然是不够的

那么需要知道用户名

所以这个时候就需要用到连接

我们需要把UserID

换成User的Name

我们把Orders和Users表

连接到一起

然后按照Orders表

当中的UserID

和Users表当中的ID

去做连接

连接结果如图所示

基于窗口的计算

我们以另外一个

具体的例子开始

分别在不同的类目当中

按照订单金额

从小到大给订单排序

它实际上定义的窗口是类目

然后在每个窗口内部

我们要把数据集

从小到大去排序

大家看到的结果就是这样

定义窗口它有几个比较

重要的这个要素

分别是说首先我们怎么给

整个数据集分组

按照上例

它是按照类目来分组的

在组内数据始终会排序的

这个例子当中它是从小到大

然后在组内数据是如何计算的

对于这个例子来说

它非常简单

它只是生成一个排名

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

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

-分布式环境下的新问题

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

-工程实现范例

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

-课程设计相关问题

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

离线分布式关系型计算_1(主讲人:王鹏飞)笔记与讨论

也许你还感兴趣的课程:

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