当前课程知识点:大数据系统基础 >  5.内存计算 >  授课视频 >  5.12Spark编程接口

返回《大数据系统基础》慕课在线视频课程列表

5.12Spark编程接口在线视频

5.12Spark编程接口

下一节:5.13Spark编程实例——Log挖掘

返回《大数据系统基础》慕课在线视频列表

5.12Spark编程接口课程教案、知识点、字幕

刚才我们介绍了

Spark的设计理念

那么它的核心设计理念

是用高效率的容错和高性能

但是要对编程的灵活性

做出一点点限制

我们现在就来看一看

实际看一下Spark的

这样的编程接口

首先这个Spark是基于Scala语言

Scala可能大家并不是非常熟悉

但是大家看到它的语法

和Java是比较像的

但是很重要的一点

Scala是一种函数语言

函数语言的意思是说

在Scala里面你可以把

函数作为一个参数

很容易的传递给

其它的函数来传递

这个我们一会儿

可以从接口上看到

这个对我们的描写

写程序时候的这种简洁性

具有非常重要的作用

另外Scala它还有个控制台

就是你可以交互式的来写

相当于一个解释语言的

这样的一个控制台

那么你可以交互式的

来使用这个Spark

也就是我们在前面讲过的

我们希望能够交互式的

来进行大数据处理

那么Scala它也就

提供了这样的一种方式

那么Python也是一种函数语言

在新的Spark的版本里面

实际上它已经支持了Python

而且也支持了Java

因为新的Java8

也支持Lambda表达式

所以也支持一定

程度上的这种

函数语言的函数化

那么整个Scala语言

它是基于RDD的操作

RDD我们在前面已经介绍过

那么RDD的操作主要分为两类

一类叫做transformation

transformation的意思

是从现有的RDD

来产生一些新的RDD

这里面我列了一些例子

比如说这个Map

我们怎么从一个RDD

产生一个RDD A

我们Map到这个RDD B

这个是transformation

这里面还有一些

比如说Filtered

比说我们要把A里面是很多学生

那么我们要把比如说

年龄大于30岁的

把它选出来

然后放到数据集B里面去

这也是一个transformation

那么像groupBY groupBY的意思

是按照Key来分组

我们如果A里面

有这种Key value对

是有1A 1B 2A 2C

那么groupBy能够产生的

就是可以把Key为1的

这部分输出出来

key为2的这部分也单独列出来

sort是可以通过

根据这个key来做排序

distinct就是可以把其中

重复的部分去掉

留出来这个唯一的值

sample就是从一个大的

这个数据集里面去采样

这些都是Transformation

那么Action是说

我们要从RDD返回一个值

那比如这里面

我们举的这个Count

那比如说我们写A.Count

那实际上就返回

A中的元素个数

也许我们会返回一个5

Collect是把A中的这个

所有的元素返回

然后返回到Scala语言中的

一个数组里面

A因为是个RDD

那么我们把它的返回到

这个比如说A=

那么我们这个A里面就是一个

Scla的这样的一个数组等等

first就是取出其中的

第一个元素出来

Spark支持的操作符很多

比如除了我们刚才讲的这些

比如Map大家还可以看到flatMap

flatMap的意思

是把A中的某一个元素

就每一个元素

可以映射成零个到多个元素

也就是我们在这个Spark里面

一般的Map我们就是

一个元素映射成一个元素

那么这个flatMap实际上

是把一个元素

可以映射成零个到多个元素

这样的不一样

union是

把两个Key value这个

sdor(音04:13)

把它组合起来

如果我们有一个Key.V1的

这样一个RDD

如果我们来做A.union B

那实际上它会产生什么东西

会产生Key V2这样的东西出来

那么join和cogroup等等

还有各式各样的

这样的新的

这样的一些操作

那么Actions里边

我们这里面刚才其实

已经讲到了一些

比如说collect reduce

reduc实际上是一个

比较常见的Actions

我们说的Map Reduce里面的

reduce和这个reduc是一样的

那么它可以把一个集合里面

reduc比如说这个加法

那就是把这个集合里面的

所有的这个值最后把它加起来

就是最后得到一个值

是里面所有的

这个value的这个和

大数据系统基础课程列表:

1. 绪论

-授课视频

--什么是大数据

--大数据典型应用

--大数据的特点

--大数据技术体系

--大数据生态系统

--大数据技术挑战

--课程内容

-1. 绪论--Quiz 1

2.云计算

-授课视频

--2.1大数据和云计算关系概述

--2.2并行化理念

--2.3规模经济理念

--2.4从仓库规模计算机到云

--2.5云计算商业模式概述

--2.6云计算带来的价值

--2.7云计算的分类

--2.8虚拟化技术概述

--2.9计算虚拟化

--2.10网络虚拟化:基础

--2.11网络虚拟化:软件定义网络

--2.12软件定义网络实现

--2.13存储虚拟化:用户接口

--2.14存储虚拟化:分布式存储实现方式

--2.15虚拟化技术总结

--2.16OPENSTACK

--2.17云计算小结

-2.云计算--Quiz 2

3.文件存储

-授课视频

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

-3.文件存储--Quiz3

4. 处理框架

-授课视频

--4.1大数据的处理框架

--4.2MapReduce编程模型

--MapReduce执行过程

--4.4MapReduce数据流

--4.5MapReduce性能优化与容错

--4.6Hadoop

--4.7MapReduce总结

--4.8Pig Latin

--4.9Pig Latin语法

--4.10Pig Latin 嵌套数据类型

--4.11Pig Latin 实现与优化

--Pig Latin 实现与优化(2)

--4.13类似框架

--4.14章节总结

-4. 处理框架--Quiz4

5.内存计算

-授课视频

--5.1内存计算概述

--5.2并行计算挑战

--5.3并行计算的局限性

--5.4大数据处理并行系统

--5.5内存计算需求

--5.6MapReduce文件传递数据

--5.7内存计算的可行性

--5.8内存层次的延迟

--5.9内存计算实例-spark

--5.10SPARK-RDD

--5.11大数据并行系统

--5.12Spark编程接口

--5.13Spark编程实例——Log挖掘

--5.14Spark编程实例——WorkCount

--5.15Spark实现技术

--5.16复杂的DAG示例

--5.17RDD性能的提高

--5.18Spark应用和生态环境

--5.19Spark的局限性

-5.内存计算--Quiz5

6. NoSQL

-授课视频

--NoSQL与Cassandra

--数据模型、接口、语言

--系统架构与Gossip协议

--一致性哈希与数据分区

--数据副本及一致性

--节点本地数据存储

-6. NoSQL--Quiz6

7. 流计算

-授课视屏

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

-7. 流计算--Quiz7

5.12Spark编程接口笔记与讨论

也许你还感兴趣的课程:

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