当前课程知识点:大数据系统基础 > 5.内存计算 > 授课视频 > 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. 绪论--Quiz 1
-授课视频
--2.2并行化理念
--2.9计算虚拟化
-2.云计算--Quiz 2
-授课视频
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-3.文件存储--Quiz3
-授课视频
--4.13类似框架
--4.14章节总结
-4. 处理框架--Quiz4
-授课视频
-5.内存计算--Quiz5
-授课视频
--数据副本及一致性
--节点本地数据存储
-6. NoSQL--Quiz6
-授课视屏
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-7. 流计算--Quiz7