第三章 RDD编程
2017-12-13 19:34
127 查看
RDD——弹性分布式数据集。每个RDD都被分为多个分区,这些分区运行在集群中的不同节点上。RDD可以包含python、java、scala中任意类型的对象,甚至可以包含用户自定义的对象。
用户可以通过两种方式创建RDD:读取外部数据集和通过对象集合创建。
创建后的RDD支持两类操作:转化操作和行动操作。
转化操作会由一个RDD生成一个新的RDD。
行动操作会对RDD计算出一个结果,并把结果返回。
每个spark程序或者shell会话都按照如下方式工作:
1) 从外部数据创建出输入的RDD
2) 使用转化操作对RDD进行转化,定义新的RDD
3) 通知spark对需要被重用的中间结果RDD执行persist()操作
4) 使用行动操作来出发一次并行计算,spark会对计算进行优化后再执行。
3.2 创建RDD
读取外部数据,例如:val lines=sc.textFile("readme.md")对集合进行并行化,例如:
val lines=sc.parallelize(List("a","b","c"))
3.3 RDD操作
3.3.1 转化操作
转化操作返回新的RDD,是惰性操作。例如map()和filter()3.3.2 行动操作
行动操作对数据集进行实际的计算。例如count()和take()3.3.3 惰性求值
RDD的转化操作都是惰性求值,也就意味着在调用行动操作之前spark不会开始计算spark惰性求值可以把一些操作合并到一起来减少计算数据的步骤。
3.4 常见的转化操作和行动操作
1.转化操作
1). 对一个RDD进行基本的RDD转化操作例如对数据集{1,2,3,3}
2). 对针对两个RDD的转化操作
例如对数据集{1,2,3}和{3,4,5}
2.行动操作
例如对数据集{1,2,3,3}
相关文章推荐
- 《Spark快速大数据分析》笔记 第三章RDD编程
- Learning Spark 第三章 RDD编程 已翻译整理完毕,PDF可下载
- 《Spark快速大数据分析》—— 第三章 RDD编程
- Spark快速大数据分析之第三章RDD编程
- 第三章 Linux内核及内核编程
- C专家编程-读书笔记之第三章
- C primer plus 第三章编程练习(个人练习答案)
- UNIX环境高级编程学习之第三章文件IO-文件读偏移操作
- 第三章 高质量C编程规范命名规则
- 第三章SQL编程
- java语言程序设计基础篇第三章编程练习题
- java并发编程实战手册第三章同步辅助类Phaser
- 程序员编程艺术:第三章续、Top K算法问题的实现
- Spark学习—RDD编程
- C专家编程学习笔记——第三章(三):有效地解读C语言的声明
- Spark编程之基本的RDD算子之zip,zipPartitions,zipWithIndex,zipWithUniqueId
- 程序员编程艺术:第三章续、Top K算法问题的实现
- Spark学习-RDD编程基础
- Windows Shell 编程 第三章
- Spark编程之基本的RDD算子之glom,substract,substractByKey,intersection,distinct,union