Spark External Datasets
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.
Spark External Datasets的更多相关文章
- Spark官方文档 - 中文翻译
Spark官方文档 - 中文翻译 Spark版本:1.6.0 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 引入Spark(Linki ...
- Spark官方2 ---------Spark 编程指南(1.5.0)
概述 在高层次上,每个Spark应用程序都由一个运行用户main方法的driver program组成,并在集群上执行各种 parallel operations.Spark提供的主要抽象是resil ...
- Spark官方文档翻译(一)~Overview
Spark官方文档翻译,有问题请及时指正,谢谢. Overview页 http://spark.apache.org/docs/latest/index.html Spark概述 Apache Spa ...
- spark RDD官网RDD编程指南
http://spark.apache.org/docs/latest/rdd-programming-guide.html#using-the-shell Overview(概述) 在较高的层次上, ...
- Spark Programming Guide《翻译》
转载必须注明出处:梁杰帆 在这里要先感谢原作者们!如果各位在这里发现了错误之处,请大家提出 1.Initializing Spark Spark程序必须做的第一件事就是创建一个SparkCon ...
- spark api之一:Spark官方文档 - 中文翻译
转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 引入Spark(Linking with Spark) 3 初始化Spark(Initi ...
- Spark RDD初探(一)
本文概要 本文主要从以下几点阐述RDD,了解RDD 什么是RDD? 两种RDD创建方式 向给spark传递函数Passing Functions to Spark 两种操作之转换Transformat ...
- Spark译文(一)
Spark Overview(Spark概述) ·Apache Spark是一种快速通用的集群计算系统. ·它提供Java,Scala,Python和R中的高级API,以及支持通用执行图的优化引擎. ...
- 2.初始化spark
参考: RDD programming guide http://spark.apache.org/docs/latest/rdd-programming-guide.html SQL progr ...
随机推荐
- [官方作品] 关于ES4的设首页问题
[官方作品] 关于ES4的设首页问题 Skyfree 发表于 2013-2-10 21:55:03 https://www.itsk.com/thread-254503-1-1.html 关于ES4设 ...
- SSIS excel2003文件导入列名显示为F1,F2 - FN
问题现象: 数据源2003版本的EXCEL文件,第一列是空白,数据是从第二列开始的.所以SSIS中用EXCEL数据源倒入这个EXCEL时,所有的列显示不出来,显示的是F1,F2 - FN. 解决方法 ...
- SSH框架搭建
1.建项目 2.添加Struts 3.添加String 注意:这里一共是五个包 4.添加Hibernate 添加完成,然后导入数据库 这时候是这样的 把小绿叶放到WEB-INF 5.简单写struts ...
- 多线程环境的UI控件属性更新
Winform: public delegate void UpadataTextCallBack(string str,TextBox text); public void UpadtaText(s ...
- 7 -- Spring的基本用法 -- 4...
7.4 使用 Spring 容器 Spring 有两个核心接口:BeanFactory 和 ApplicationContext,其中ApplicationContext 是 BeanFactory ...
- 第一个C语言程序
从第一个C语言程序了解C语言 了解关键字 了解函数 注释 C语言的执行流程 标识符 C语言的学习重难点 从第一个C语言程序了解C语言 上图是一个在控制台上显示“Hello, World!”的C语言源代 ...
- blade and soul factions
Faction You will be asked to join one of the elite Factions as a rising Martial Artist no matter wha ...
- ORM
参考:http://wenku.baidu.com/link?url=Kc9KHESrzLUp8KtcQH4Ls4QQpKosNiyQAVgkNX-UN4j9QuRhS-Hy5FGJjmWW2oszT ...
- 用Laravel+Grunt+Bower管理你的应用
来源:http://yansu.org/2014/03/10/grunt-bower-and-laravel.html 为什么这么选择? 如今开源盛行,从后端的各个类库,到如今前端的jQuery插件, ...
- hadoop输入分片计算(Map Task个数的确定)
作业从JobClient端的submitJobInternal()方法提交作业的同时,调用InputFormat接口的getSplits()方法来创建split.默认是使用InputFormat的子类 ...