厦门大学:《Spark编程基础》课程教学PPT讲义课件(Scala版)第5章 RDD编程

《 Sparks编程基础( Scala版)》 教材官网:hp/ /dblab xmu. edu. cn/post/spark 湿馨提示:编幻灯片母版,可以修改每页PPT的厦大校傲和底部文字 第5章RDD编程 可回 (PPT版本号:2018年7月版本 林子雨 厦门大学计算机科学系 E-mail:ziyulin@xmu.edu.cnA 扫一扫访问教材官网 主页http://www.cs.xmu.edu.cn/linziyu 厦门大学计算机科学系 2018版
《Spark编程基础厦门大学计算机科学系 》 厦门大学计算机科学系 林子雨 2018 ziyulin@xmu.edu.cn 版 林子雨 厦门大学计算机科学系 E-mail: ziyulin@xmu.edu.cn 主页:http://www.cs.xmu.edu.cn/linziyu 第5章 RDD编程 (PPT版本号: 2018年7月版本) 温馨提示:编辑幻灯片母版,可以修改每页PPT的厦大校徽和底部文字 《Spark编程基础(Scala版)》 教材官网: http://dblab.xmu.edu.cn/post/spark/ 扫一扫访问教材官网

提纲 51RDD编程基础 52键值对RDD 53数据读写 54综合案例 编程基础 G DAS 高校大数据课程 公共服务平台 百度搜索厦门大学数据库实验室网站访问平台 Spark编程基础》 厦门大学计算机科学系 ziyulin@xmu.edu.cn
《Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 提纲 5.1 RDD编程基础 5.2 键值对RDD 5.3 数据读写 5.4 综合案例 百度搜索厦门大学数据库实验室网站访问平台

51RDD编程基础 5.1.1RDD创建 51.2RDD操作 5.1.3持久化 5.14分区 51.5一个综合实例 Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.1 RDD编程基础 5.1.1 RDD创建 5.1.2 RDD操作 5.1.3 持久化 5.1.4 分区 5.1.5 一个综合实例

5.1.1RDD创建 1.从文件系统中加载数据创建RDD 2.通过并行集合(数组)创建RDD Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.1.1 RDD创建 1. 从文件系统中加载数据创建RDD 2. 通过并行集合(数组)创建RDD

5.1.1RDD创建 1.从文件系统中加载数据创建RDD spark采用 d textFile()方法来从文件系统中加载数据创建RDD 该方法把文件的UR作为参数,这个URI可以是: 本地文件系统的地址 或者是分布式文件系统HDFS的地址 或者是 Amazon s3的地址等等 Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.1.1 RDD创建 •Spark采用textFile()方法来从文件系统中加载数据创建RDD •该方法把文件的URI作为参数,这个URI可以是: •本地文件系统的地址 •或者是分布式文件系统HDFS的地址 •或者是Amazon S3的地址等等 1. 从文件系统中加载数据创建RDD

5.1.1RDD创建 (1)从本地文件系统中加载数据创建RDD scala> val lines= sc textFile ("file: usr/local/spark/mycode/rdd/word. txt") lines: org. apache. spark rdd RDD[String] file / usr/local/spark/mycode/rdd/word. txt MapPartitionsRDD[12] at textFile at : 27 word. txt RDD(lines) Hadoop is good "Hadoop is good" Spark is fast sc textFile Spark is fast park is better Spark is better" 表示一个RDD元素 图从文件中加载数据生成RDD Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.1.1 RDD创建 scala> val lines = sc.textFile("file:///usr/local/spark/mycode/rdd/word.txt") lines: org.apache.spark.rdd.RDD[String] = file:///usr/local/spark/mycode/rdd/word.txt MapPartitionsRDD[12] at textFile at :27 word.txt RDD(lines) sc.textFile() Hadoop is good Spark is fast Spark is better "Hadoop is good" "Spark is fast" "Spark is better" 表示一个RDD元素 图 从文件中加载数据生成RDD (1)从本地文件系统中加载数据创建RDD

5.1.1RDD创建 (2)从分布式文件系统HDFS中加载数据 scala> val lines= sc textFile(hdfs: //localhost: 9000/user/hadoop/word. txt) scala> val lines sc textFile(/user/hadoop/word. txt scala> val lines=sc textFile(word. txt) 三条语句是完全等价的,可以使用其中任意一种方式 Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.1.1 RDD创建 scala> val lines = sc.textFile("hdfs://localhost:9000/user/hadoop/word.txt") scala> val lines = sc.textFile("/user/hadoop/word.txt") scala> val lines = sc.textFile("word.txt") (2)从分布式文件系统HDFS中加载数据 三条语句是完全等价的,可以使用其中任意一种方式

5.1.1RDD创建 2.通过并行集合(数组)创建RDD 可以调用 SparkContex的 parallelize方法,在 Driver中一个已经存在的集合 (数组)上创建 array RDD(rdd) scala>val array Array (1, 2, 3, 4, 5) array: Array[Int]= Array (1, 2, 3, 4, 5) scala>val rdd=sc parallelize array rdd: org. apache. spark rdd RDD[Int] Am(12345)sly/3 ParallelCollection RDD[13] at parallelize at : 29 或者,也可以从列表中创建: 图从数组创建RDD示意图 scala>val list= List(1, 2, 3, 4, 5) list: List[Int]=List(1, 2, 3, 4, 5) scala>val rdd sc parallelize list) rdd: org. apache. spark rdd RDD[Int]=ParallelCollectionRDD[14] at parallelize at : 29 Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.1.1 RDD创建 可以调用SparkContext的parallelize方法,在Driver中一个已经存在的集合 (数组)上创建。 scala>val array = Array(1,2,3,4,5) array: Array[Int] = Array(1, 2, 3, 4, 5) scala>val rdd = sc.parallelize(array) rdd: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[13] at parallelize at :29 或者,也可以从列表中创建: scala>val list = List(1,2,3,4,5) list: List[Int] = List(1, 2, 3, 4, 5) scala>val rdd = sc.parallelize(list) rdd: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[14] at parallelize at :29 array RDD(rdd) Array(1,2,3,4,5) 1 2 3 sc.parallelize(array) 4 5 图 从数组创建RDD示意图 2. 通过并行集合(数组)创建RDD

5.12RDD操作 1转换操作 2行动操作 3.惰性机制 Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.1.2 RDD操作 1. 转换操作 2. 行动操作 3. 惰性机制

5.12RDD操作 1.转换操作 °对于RDD而言,每一次转换操作都会产生不同的RDD,供 给下一个“转换”使用 转换得到的RDD是惰性求值的,也就是说,整个转换过程 只是记录了转换的轨迹,并不会发生真正的计算,只有遇到 行动操作时,才会发生真正的计算,开始从血缘关系源头开 始,进行物理的转换操作 转换 创建 A B 转换 转换 动作 Input E Output 转换 创建C 转换 Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《Spark编程基础》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 5.1.2 RDD操作 •对于RDD而言,每一次转换操作都会产生不同的RDD,供 给下一个“转换”使用 •转换得到的RDD是惰性求值的,也就是说,整个转换过程 只是记录了转换的轨迹,并不会发生真正的计算,只有遇到 行动操作时,才会发生真正的计算,开始从血缘关系源头开 始,进行物理的转换操作 Input A B C D E F Output 动作 转换 转换 转换 转换 转换 创建 创建 1. 转换操作
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿,第2版)第3章 分布式文件系统HDFS.ppt
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿,第3版)第8章 Hadoop架构再探讨.ppt
- 厦门大学:《数据库系统原理》课程教学资源(PPT课件讲稿,2016版)第四章 数据库安全性.ppt
- 厦门大学:《数据库系统原理》课程教学资源(PPT课件讲稿,2016版)第一章 绪论(林子雨).ppt
- 厦门大学数据库实验室论文阅读报告二.ppt
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿)课程介绍(主讲:林子雨).ppt
- 厦门大学:《计算机应用基础》PPT讲义课件_第一章 信息与计算机基础.ppt
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿)第一章 大数据概述.ppt
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿)第六章 云数据库.ppt
- 厦门大学:《Spark编程基础》课程教学PPT讲义课件(Python版)第4章 RDD编程.ppt
- 厦门大学:《Spark编程基础》课程教学PPT讲义课件(Scala版)第1章 大数据技术概述.ppt
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿)第七章 MapReduce.ppt
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿)第八章 流计算(主讲:林子雨).ppt
- 《商务智能:数据分析的管理视角 Business Intelligence, Analytics, and Data Science:A Managerial Perspective》教学资源(习题,原书第4版)chapter 8 Future Trends, Privacy and Managerial Considerations in Analytics.doc
- 《商务智能:数据分析的管理视角 Business Intelligence, Analytics, and Data Science:A Managerial Perspective》教学资源(习题,原书第4版)chapter 7 Big Data Concepts and Tools.doc
- 《商务智能:数据分析的管理视角 Business Intelligence, Analytics, and Data Science:A Managerial Perspective》教学资源(习题,原书第4版)chapter 6 Prescriptive Analytics:Optimization and Simulation.doc
- 《商务智能:数据分析的管理视角 Business Intelligence, Analytics, and Data Science:A Managerial Perspective》教学资源(习题,原书第4版)chapter 5 Predictive Analytics II:Text, Web, and Social Media Analytics.doc
- 《商务智能:数据分析的管理视角 Business Intelligence, Analytics, and Data Science:A Managerial Perspective》教学资源(习题,原书第4版)chapter 4 Predictive Analytics I:Data Mining Process, Methods, and Algorithms.doc
- 《商务智能:数据分析的管理视角 Business Intelligence, Analytics, and Data Science:A Managerial Perspective》教学资源(习题,原书第4版)chapter 3 Descriptive Analytics II:Business Intelligence and Data Warehousing.doc
- 《商务智能:数据分析的管理视角 Business Intelligence, Analytics, and Data Science:A Managerial Perspective》教学资源(习题,原书第4版)chapter 2 Descriptive Analytics I:Nature of Data, Statistical Modeling, and Visualization.doc
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿,第3版)第7章 MapReduce.ppt
- 厦门大学:《大数据处理技术 Spark》课程讲义(PPT教学课件)第1章 大数据技术概述.ppt
- 厦门大学:《大数据处理技术 Spark》课程讲义(PPT教学课件)第2章 Scala语言基础.ppt
- 厦门大学:《大数据导论》课程讲义(PPT教学课件)第7章 数据处理与分析.ppt
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿,第2版)课程介绍(主讲:林子雨).ppt
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿,第3版)第3章 分布式文件系统HDFS.ppt
- 厦门大学:《计算机应用基础》PPT讲义课件_第二章 操作系统Windows XP.ppt
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿,第3版)第6章 云数据库.ppt
- 复旦大学:《高级Web技术》课程教学大纲(戴开宇).doc
- 《高级Web技术》参考资料:MyEclipse创建基于X-File的Web service及调用实例详解.pdf
- 《高级Web技术》参考资料:Architectural Styles and the design of Network-based Software Achitectures.pdf
- 《高级Web技术》参考资料:MyEclipse 6 Java 开发中文教程_第十一章 开发Spring+Struts+Hibernate应用.pdf
- 《高级Web技术》参考资料:Spring中文教程(Spring Framework开发参考手册 version 1.1).pdf
- 《高级Web技术》参考资料:MyEclipse 6 Java 开发中文教程_第十六章 开发EJB应用.pdf
- 《高级Web技术》参考资料:MyEclipse 6 Java 开发中文教程_第十五章 开发XFire Web Service应用.pdf
- 《高级Web技术》参考资料:深入Spring 2:轻量级J2EE开发框架原理与实践_第五章 面向切面的编程(AOP)及在Spring中的应用.pdf
- 《高级Web技术》参考资料:SSH Step by Step Tutorial.doc
- 《高级Web技术》参考资料:Building Social Web Applications.pdf
- 《高级Web技术》参考资料:Architectural Styles and the design of Network-based Software Achitectures.pdf
- 《高级Web技术》参考资料:CORBA程序设计指南(入门).doc