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中的数据是分区存储的,这...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

Spark RDD API详解(一) Map和Reduce

Spark RDD API详解(一) Map和Reduce Spark RDD是什么? RDD是Spark中的抽象数据结构类型,任何数据在Spark中都被表示为RDD。从编程的角度来...

Spark RDD API详解(一) Map和Reduce

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

Spark RDD API详解(一) Map和Reduce

原文地址:https://www.zybuluo.com/jewes/note/35032 Spark RDD API详解(一) Map和Reduce Spark RDD...

Spark RDD API详解(一) Map和Reduce

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

Spark RDD API详解(一) Map和Reduce

转载地址:https://www.zybuluo.com/jewes/note/35032 RDD是什么? RDD是Spark中的抽象数据结构类型,任何数据在Spark中都被表示为...

Spark RDD API详解Map和Reduce

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

Spark RDD API详解(一) Map和Reduce

版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[+] 本文由cmd markdown编辑,原始链接:https://www.zybuluo.com...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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