- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十二次课:Spark的进一步实践3 刘春 计算机与信息工程学院数据科学系 河南省时空大数据产业技术研究院 河南大学 报告提纲 基于pySpark的TF-IDF算法实践 上节课知识点回顾 Spark程序的基本框架 创建RDD以及对RDD进行转换的过程 所以:创建描述需要处理的数据的RDD是Spark编程的起点!! 基于Scala集合创建RDD (1)parallelize方法 var data=List(1,2,3,4,5,6,7,8)//List类型的数据集合 val datardd=sc.parallelize(data)//sc为SparkContext对象 def parallelize[T: ClassTag]( seq: Seq[T], numSlices: Int = defaultParallelism): RDD[T] 该方法的接口声明如下 该方法的使用示例如下 输入数据的集合对象 并行数,可以缺省 基于Scala集合创建RDD (1)makeRDD方法 该方法与parallelize方法类似,使用示例如下 var data=List(1,2,3,4,5,6,7,8)//List类型的数据集合 val datardd=sc.makeRDD(data)//sc为SparkContext对象 基于外部存储系统创建RDD 常见的外部存储系统 本地文件系统 HDFS (1)textFile方法 val lines = sc.textFile(hdfs://localhost:9000/dataset/example.txt)//从HDFS中读取数据 val lines = sc.textFile(file:///home/hadoop/example.txt)//从本地读取数据 基于外部存储系统创建RDD (2)hadoopFile方法 Hadoop支持我们自定义输入和输出的格式。为此,Spark也提供了hadoopFile方法来根据自定义的输入格式从一个文件中读取数据并形成key, value键值对,然后基于这些键值对数据创建RDD。 val file = sc.hadoopFile[LongWritable, Text, TextInputFormat](path, minPartitions) hadoopFile方法的使用示例 基于外部存储系统创建RDD (3)hadoopRDD方法 newAPIHadoopRDD方法的使用示例 val rdd = sc.newAPIHadoopRDD(job.getConfiguration(),TextInputFormat, LongWritable, Text) job为Hadoop的MapReduce的作业任务对象。Job对象封装了输入数据的文件路径以及输入格式等信息。hadoopRDD方法将根据job对象的configuration中获取输入文件的路径等信息。 在上节读取Hbase中的数据来创建RDD时已经应用过该方法! Spark的共享变量:广播变量 广播变量的目的 当我们将Spark程序中的某个变量声明为广播变量之后,Spark的Driver只会给每个Executor发送一份该变量的副本,而不是每个Task拥有一个该变量的副本 一个Executor中的多个Task共享该变量,减少了网络数据的传输,也减少了对Executor资源的占用。 不能将一个RDD定义为一个广播变量广播到各个Executor中,因为RDD是一个抽象的数据结构,其中并不包含其所描述的数据!! 当一个变量被定义为广播变量之后,其便不能被修改!! Spark的共享变量:广播变量 广播变量示例 import org.apache.spark.SparkContext import org.apache.spark.SparkConf ? object BroadcastTest { def main(args: Array[String]) { val conf=new SparkConf() .setMaster(local)//本地启动 .setAppName(BroadcastTest) ? //创建SparkContext对象 val sc=new SparkContext(conf) ? val str = hadoop//定义一个将被作为广播变量的变量 val broadCast = sc.broadcast(str)//将一个变量定义为广播变量 ? val textFile=sc.textFile(hdfs://localhost:9000/dataset/example.txt)//读取HDF
您可能关注的文档
- 《大数据基本处理框架原理与实践》PPT课件(共16次课)第八次课:Spark的基本原理.ppt
- 《大数据基本处理框架原理与实践》PPT课件(共16次课)第二次课:HDFS.ppt
- 《大数据基本处理框架原理与实践》PPT课件(共16次课)第九次课:Scala语言与Spark基本操作.ppt
- 《大数据基本处理框架原理与实践》PPT课件(共16次课)第六次课:Hbase基本原理介绍.ppt
- 《大数据基本处理框架原理与实践》PPT课件(共16次课)第七次课:Hbase的实践操作.ppt
- 《大数据基本处理框架原理与实践》PPT课件(共16次课)第三次课:MapReduce概述.ppt
- 《大数据基本处理框架原理与实践》PPT课件(共16次课)第十次课:Spark的进一步实践.ppt
- 《大数据基本处理框架原理与实践》PPT课件(共16次课)第十六次课:Spark的进一步实践3 - 带代码.ppt
- 《大数据基本处理框架原理与实践》PPT课件(共16次课)第十三次课:Spark streaming的基本原理.ppt
- 《大数据基本处理框架原理与实践》PPT课件(共16次课)第十四次课:Spark streaming的实践操作.ppt
- 《大数据基本处理框架原理与实践》PPT课件(共16次课)第十五次课:课程复习与总结.ppt
- 《大数据基本处理框架原理与实践》PPT课件(共16次课)第十一次课:Spark的进一步实践2.ppt
- 《大数据基本处理框架原理与实践》PPT课件(共16次课)第四次课:Hadoop的数据类型与输入格式.ppt
- 《大数据基本处理框架原理与实践》PPT课件(共16次课)第五次课:MapReduce输出格式与多MapReduce任务的串联.ppt
- MCS-51单片机原理、接口及应用(第2版)PPT课件(共10章)第1章 微型计算机基本知识.ppt
- MCS-51单片机原理、接口及应用(第2版)PPT课件(共10章)第2章 单片机的结构和原理.pptx
- MCS-51单片机原理、接口及应用(第2版)PPT课件(共10章)第3章 寻址方式和指令系统.pptx
最近下载
- 专四作文举例法Exemplification教学文案.pptx VIP
- 2025年中考生物复习新题速递之绿色植物的光合作用和呼吸作用( 2024年9月).doc VIP
- 静脉输液并发症预防与处理规范-课件.ppt VIP
- 关于Listing and Exemplification的PPT重要课件.ppt VIP
- 后人类主义视角下的生物艺术研究论文.docx VIP
- 建筑施工安全生产实务注册安全工程师考试.docx VIP
- 公墓项目投标施工组织设计.pdf VIP
- 译林版七年级英语上册完形填空训练50套(含答案).pdf VIP
- 专四作文举例法Exemplification.pptx VIP
- 腰椎退行性病变的护理查房.pptx VIP
文档评论(0)