当前课程知识点:大数据系统基础 >  5.内存计算 >  授课视频 >  5.14Spark编程实例——WorkCount

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

5.14Spark编程实例——WorkCount在线视频

5.14Spark编程实例——WorkCount

下一节:5.15Spark实现技术

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

5.14Spark编程实例——WorkCount课程教案、知识点、字幕

我们再来看一个Spark的例子

这是一个WordCount

也就是学Map Reduce的时候

大家都非常非常熟悉的一个例子

那么首先在Spark里面

有个叫SparkContext

我们在去使用Spark的这样的

textFile这些调样之前

我们要先生成一个

Sparkcontext

那么然后我们再把这个文件

从hdfs上把它调入到

这个内存里生成一个RDD file

那么后面我们就对这个file

来做WordCount了

这个WordCount大家可以看

它其实非常的简单

这里面用了两个

我们刚才说过的这个Spark

里面的这个两个函数

一个是flatMap

这是一个transformation

那它我们刚才讲过

它的作用是什么

它是说我们可以把其中一个元素

就这个file里面的某一个line

然后把它变成零个或者多个元素

那么这个里面它是怎么做的

它实际上相当于

把这一行做了分词

split用空格来分词

也就是说

这一行那么通过flatMap

比如说 A B C是这一行

file原来是这样的内容

那么通过这个flatMap

我们实际上把它变成了这个

三个这样的元素A B C

也就是说从一个对应到三个

这也就是flatMap

它的和普通的Map不一样的

这样的一个地方

然后下一步

我们就进一步的去做Map

这个Map大家都非常熟

那么在这个WordCount里面

我们遇到一个Word

比如说遇到A

那么我们把它转换成一个什么

Word1就是把A又变成了A1

对应的B我们变成B1

C变成C1

那么这个也变化完了以后

我们就得到了这样的

一个数据集

这样的一个数据集以后

我们再ReduceByKey

那我们知道这里的Key

就是A B C

当然我们刚才写的是A B C

如果后面我们再加一个A

那么我们刚才这个flatMap

得到的结果就是A B C A

那么这个里面

我们就会又得到一个A1

那么这个reduceByKey

我们就可以得到

一个什么样的结果

那应该就是A2

因为这是一个加法就是

所有遇到A后面的这个数

这个value我们要把它加起来

这里面有两个A我们就是2

然后B1然后C2

就是这样的一个结果

就可以用reduceByKey

来表达出来

大家可以对比一下

我们过去写的Map Reduce程序

再看一下这个Spark

这样的一个数据

可以看到Spark的这种

函数式表达

使得它的这个程序编写

非常的简洁

而且也非常地清晰易懂

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

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.14Spark编程实例——WorkCount笔记与讨论

也许你还感兴趣的课程:

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