传输线理论-数据科学与大数据技术.PPT

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.3.2 Action操作 2.存储Action操作 (1) saveAsTextFile(path) 将数据集的元素作为一个文本文件(或文本文件的集合)保存在本地文件系统中的给定目录、HDFS或任何其他Hadoop HDFS支持的文件系统。 scala val rdd6 = sc.parallelize(Array(a,b,c,d)) scalardd6.saveAsTextFile(file:///home/ubuntu01/TextFile1) //查看TextFile1中文本文件Part-00000的内容为: a b c d 代码 5-30 5.3.2 Action操作 (2) saveAsSequenceFile(path) 将数据集的元素在本地文件系统中以sequencefile的格式保存至指定路径、Hadoop HDFS或Hadoop支持的任何文件系统。该方法可作用于任意实现了Hadoop的读写接口的RDD键值对。 5.3.2 Action操作 (3) saveAsObjectFile(path) saveAsObjectFile将分区中的每个元素组成一个Array,然后将这个Array序列化,映射为(Null,BytesWritable(Y))的元素,写入HDFS为SequenceFile的格式。 5.3.3 不同类型RDD的转换 有些函数只能用于特定类型之间的RDD上,如mean()、stdev()和sum()这种数值计算的操作只能用在数值RDD上,而reduceByKey()、groupByKey()这种键值对操作只能用在键值对RDD上。在Scala和Java中,这些函数都没有定义在标准的RDD类中,所以要访问这些附加功能,必须要确保获得了正确的专用RDD类。 特定RDD类专用函数 5.3.3 不同类型RDD的转换 在Scala中,RDD转为有特定函数的RDD(比如在RDD[Double]上进行数值操作)是由隐式转换来自动处理的,需要加上import org.apache.spark.SparkContext._来使用这些隐式转换。隐式转换后的类包括以下几种: (1)PairRDDFunctions:该扩展类中的方法中输入的数据单元是一个包含两个元素的元组结构。Spark会把其中第一个元素当成Key,第二个当成Value。例如前面提到的reduceByKey(),groupByKey()函数等。 5.3.3 不同类型RDD的转换 (2)DoubleRDDFunctions:这个扩展类包含了多种数值的聚合方法。如果RDD的数值单元能够隐式变换成Scala的double数据类型,则这个方法会非常有用。 (3)OrderedRDDFunctions:该扩展类的方法需要输入的数据是二元元组,并且key能够排序。例如sortByKey()函数等。 (4)SequenceFileRDDFunctions:这个扩展类包含一些可以创建Hadoop sequence文件的方法。输入的数据必须是二元元组,但需要额外考虑到元组元素能够转换成可写类型。 5.4 数据的读取与保存 Spark支持多种输入输出源,一部分原因是因为Spark本身是基于Hadoop生态圈而构建,特别是Spark可以通过Hadoop MapReduce所使用的InputFormat和OutputFormat接口访问数据。对于存储在本地文件系统或者分布式文件系统中的数据,Spark可以访问多种不同的文件格式,包括文本文件、JSON、SequenceFile等。 Spark支持的一些常见格式 格式名称 结构化 备 注 文本文件 否 普通的文本文件,每行一条记录。 JSON 半结构化 常见的基于文本的格式,半结构化;大多数库都要求每行一条记录。 CSV 是 常见的基于文本的格式,通常在电子表格应用中使用。 SequenceFiles 是 一种用于键值对数据的常见Hadoop文件格式。 对象文件 是 用来将Spark作业中的数据存储下来以让共享的代码读取。改变类的时候它会失效,因为它依赖于Java序列化。 5.4 数据的读取与保存 1、文本文件的读写 (1)从文本文件中读取数据创建RDD 从文本文件中读取数据,可以采用textFile方法,将一个文本文件读取为RDD 时,输入的每一行都会成为 RDD的一个元素,inputFile为文件目录,读取格式是sc.textFile(inputfile)。 val inputFile = file:///home/ word-count/test.txt val text

文档评论(0)

jinchenl + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档