共计 2061 个字符,预计需要花费 6 分钟才能阅读完成。
Spark 能够从任何支持 Hadoop 的存储源来创建 RDD,包括本地的文件系统,HDFS,Cassandra,Hbase,Amazon S3 等。Spark 支持 textFile、SequenceFiles 和任何其他的 Hadoop 的 InputFormat 格式的数据。
1、textfile 的 RDD 可以通过 SparkContext’s textFile 的方法来创建,这个方法需要传递一个文件路径 URL 作为参数,然后读取对应文件的每一行的数据,形成一个以行数据为单位的集合。例如:
scala> val distFile = sc.textFile(“data.txt”)
distFile: RDD[String] = MappedRDD@1d4cee08
2、textfile 方法中,如果传入的是一个本地文件的 URL,这必须保证 Spark 集群中其它机器也能够访问相同的 URL。
3、在 Spark 中,所有的输入方法(包括 textFile)都支持文件夹、压缩文件、通配符。例如:
textFile(“/my/directory”), textFile(“/my/directory/*.txt”), and textFile(“/my/directory/*.gz”).
4、textFile 方法中,还接受第二个参数,该参数是指定对应产生的 RDD 的分区数。默认情况下,Spark 会根据 HDFS 的块的大小来作为分区的大小,即以块的数量作为分区的数目 M。你可以设置大于这个分区数 M,但是不能设置小于这个分区数 M。
5、除了 textFile 方法之外,Spark 提供了如下的方法来加载外部数据:
(1)SparkContext.wholeTextFiles
该方法是读一个路径下所有的小文件,并且将每个小文件内容 content 作为 value,文件的 filename 作为 key,以 pairs(key,value)的形式返回给客户端。该方法与 textfile 刚好相反,textfile 是返 回每个文件的每一行的记录作为 key,value 的形式返回。
(2)SparkContext’s sequenceFile[K, V]
对于 sequenceFiles,我们可以用 sequenceFile[K,V] 方法来加载外部的数据,其中 K,V 的类型是文件中 key 和 value 的类型。但这都是 Hadoop 的 Writable(是一个接口类型)类型的子类。
(3)SparkContext.hadoopRDD
对于其他的 Hadoop 的 InputFormats,你可以用 hadoopRDD 的方法来加载外部的数据源。该方法需要传入特定的 JobConf and input format class, key class and value class
6、RDD 的简单的保存方式:
RDD.saveAsObjectFile and SparkContext.objectFile support saving an RDD in a simple format consisting of serialized Java objects. While this is not as efficient as specialized formats like Avro, it offers an easy way to save any RDD.
CentOS 7.0 下安装并配置 Spark http://www.linuxidc.com/Linux/2015-08/122284.htm
Spark1.0.0 部署指南 http://www.linuxidc.com/Linux/2014-07/104304.htm
CentOS 6.2(64 位) 下安装 Spark0.8.0 详细记录 http://www.linuxidc.com/Linux/2014-06/102583.htm
Spark 简介及其在 Ubuntu 下的安装使用 http://www.linuxidc.com/Linux/2013-08/88606.htm
安装 Spark 集群 (在 CentOS 上) http://www.linuxidc.com/Linux/2013-08/88599.htm
Hadoop vs Spark 性能对比 http://www.linuxidc.com/Linux/2013-08/88597.htm
Spark 安装与学习 http://www.linuxidc.com/Linux/2013-08/88596.htm
Spark 并行计算模型 http://www.linuxidc.com/Linux/2012-12/76490.htm
Ubuntu 14.04 LTS 安装 Spark 1.6.0(伪分布式)http://www.linuxidc.com/Linux/2016-03/129068.htm
Spark 的详细介绍 :请点这里
Spark 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-05/131570.htm