Spark RDD API详解

原创 2017年01月03日 21:13:33

1. RDD简单介绍

      RDD是Spark中的抽象数据结构类型,任何数据在Spark中都被表示为RDD。从编程的角度来看,RDD可以简单看成是一个数组。和普通数组的区别是,RDD中的数据是分区存储的,这样不同分区的数据就可以分布在不同的机器上,同时可以被并行处理。因此,Spark应用程序所做的无非是把需要处理的数据转换为RDD,然后对RDD进行一系列的变换和操作从而得到结果。本文为第一部分,将介绍Spark RDD中与Map和Reduce相关的API中。

2. RDD的创建

RDD可以从普通数组创建出来,也可以从文件系统或者HDFS中的文件创建出来。

  • 从普通数组创建RDD,里面包含了1到9这9个数字,它们分别在3个分区中
scala> val a = sc.parallelize(1 to 9, 3)
a: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[1] at parallelize at <console>:12
  • 读取文件README.md来创建RDD,文件中的每一行就是RDD中的一个元素
scala> val b = sc.textFile("README.md")
b: org.apache.spark.rdd.RDD[String] = MappedRDD[3] at textFile at <console>:12

3. map

map是对RDD中的每个元素都执行一个指定的函数来产生一个新的RDD。 任何原RDD中的元素在新RDD中都有且只有一个元素与之对应。

scala> val a = sc.parallelize(1 to 9, 3)
scala> val b = a.map(x => x*2)
scala> a.collect
res10: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
scala> b.collect
res11: Array[Int] = Array(2, 4, 6, 8, 10, 12, 14, 16, 18)

上述例子中把原RDD中每个元素都乘以2来产生一个新的RDD。

持续更新中……

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Spark RDD API详解 Map和Reduce

RDD是什么? RDD是Spark中的抽象数据结构类型,任何数据在Spark中都被表示为RDD。从编程的角度来看,RDD可以简单看成是一个数组。和普通数组的区别是,RDD中的数据是分区存储的,这...

Spark RDD API详解之Map和Reduce

RDD是什么? RDD是Spark中的抽象数据结构类型,任何数据在Spark中都被表示为RDD。从编程的角度来看,RDD可以简单看成是一个数组。和普通数组的区别是,RDD中的数据是分区存储的,这...
  • chndata
  • chndata
  • 2015年04月14日 16:19
  • 805

Spark RDD API详解(一) Map和Reduce

本文用实例介绍Spark中RDD和MapReduce相关的API。
  • jewes
  • jewes
  • 2014年10月08日 17:31
  • 87700

Spark RDD API详解Map和Reduce

原始链接:https://www.zybuluo.com/jewes/note/35032 RDD是什么? RDD是Spark中的抽象数据结构类型,任何数据在Spark中都被表示为RDD。从编程...

spark rdd 操作详解

  • 2015年04月22日 15:11
  • 527KB
  • 下载

Spark RDD API 参考示例(三)

Spark RDD API 参考示例详解,Spark RDD 快速入门 Spark 详解

spark rdd api

Home RDD function calls aggregate aggregateByKey [Pair]

Spark RDD API 参考示例(四)

Spark RDD API 参考示例详解,Spark RDD 快速入门,Spark RDD 详解

Spark RDD API 参考示例(一)

Spark RDD API 参考示例 Spark 入门教程 Spark RDD 详解

Spark RDD API 参考示例(六)

Spark RDD API 参考示例详解,Spark RDD 快速入门 Spark 教程
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spark RDD API详解
举报原因:
原因补充:

(最多只允许输入30个字)