阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Spark External Datasets

85次阅读
没有评论

共计 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

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计2061字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中