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的更多相关文章

  1. Spark官方文档 - 中文翻译

    Spark官方文档 - 中文翻译 Spark版本:1.6.0 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 引入Spark(Linki ...

  2. Spark官方2 ---------Spark 编程指南(1.5.0)

    概述 在高层次上,每个Spark应用程序都由一个运行用户main方法的driver program组成,并在集群上执行各种 parallel operations.Spark提供的主要抽象是resil ...

  3. Spark官方文档翻译(一)~Overview

    Spark官方文档翻译,有问题请及时指正,谢谢. Overview页 http://spark.apache.org/docs/latest/index.html Spark概述 Apache Spa ...

  4. spark RDD官网RDD编程指南

    http://spark.apache.org/docs/latest/rdd-programming-guide.html#using-the-shell Overview(概述) 在较高的层次上, ...

  5. Spark Programming Guide《翻译》

    转载必须注明出处:梁杰帆 在这里要先感谢原作者们!如果各位在这里发现了错误之处,请大家提出 1.Initializing Spark     Spark程序必须做的第一件事就是创建一个SparkCon ...

  6. spark api之一:Spark官方文档 - 中文翻译

    转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 引入Spark(Linking with Spark) 3 初始化Spark(Initi ...

  7. Spark RDD初探(一)

    本文概要 本文主要从以下几点阐述RDD,了解RDD 什么是RDD? 两种RDD创建方式 向给spark传递函数Passing Functions to Spark 两种操作之转换Transformat ...

  8. Spark译文(一)

    Spark Overview(Spark概述) ·Apache Spark是一种快速通用的集群计算系统. ·它提供Java,Scala,Python和R中的高级API,以及支持通用执行图的优化引擎. ...

  9. 2.初始化spark

    参考:  RDD programming guide http://spark.apache.org/docs/latest/rdd-programming-guide.html  SQL progr ...

随机推荐

  1. PUTTY用密钥登陆服务器

    1.puttygen生成private_key和public_key,保存private_key: 2.在 ~/.ssh/authorized_keys中添加public_key,(vi ~/.ssh ...

  2. this的指向(慢慢添加)

    this的指向: 1.行间调用函数: <div id="div1" onclick="show()"></div> <script ...

  3. 从世界坐标转换成ui的rect坐标的方法

    这个东西整整折磨了我一个通宵.原谅我先这样放上来.明天整理整理 using UnityEngine; using System.Collections; using UnityEngine.UI; p ...

  4. LoadRunner脚本参数化设置

    LoadRunner,是一种预测系统行为和性能的负载测试工具,其中VUG(Virtual User Generator)主要用于虚拟用户生成和脚本编辑.为了实现单用户多次迭代执行脚本,VUG提供了强大 ...

  5. express+gulp构建项目(五)swig模板

    这里的文件负责配置swig模板引擎. index.js var jsonHash = require('./json_file'); var staticTag = require("./t ...

  6. 不在折腾---storm-0.9.2-incubating分布式安装

    安装一个zookeeper集群 > 请参考:不在折腾----zookeeper-3.4.5 上传strom的安装包 解压 配置,conf/storm.yaml * 所使用的zookeeper集群 ...

  7. 即时反应的input和propertychange方法

    在web开发中,我们有时会需要动态监听输入框值的变化,当使用onkeydown.onkeypress.onkeyup作为监听事件时,会发现一些复制粘贴等操作用不了,同时,在处理组合快键键的时候也很麻烦 ...

  8. JavaWeb前端:JQuery

    Jquery基本概念 什么是Jquery Jquery是一个开源的,集成了Javascript,CSS,DOM,AJAX的前端框架:它诞生于2006年,最初是为了简化JavaScript开发而产生的, ...

  9. poj 1328 Radar Installation

    题目链接:http://poj.org/problem?id=1328 题意:给出海上有n个小岛的坐标,求发出的信号可以覆盖全部小岛的最少的雷达个数.雷达发射信号是以雷达为圆心,d为半径的圆,雷达都在 ...

  10. 使用robot frame selenium中遇到的问题汇总

    1.问题:robot运行时提示:[ WARN ] Keyword 'Capture Page Screenshot' could not be run on failure: No browser i ...