关闭

Spark RDD API详解

标签: sparkRDD
579人阅读 评论(7) 收藏 举报
分类:

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。

持续更新中……

4
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Spark RDD API详解(一) Map和Reduce

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

RDD api整理

RDD[T]Transformations rdd api 备注 persist/cache map(f: T => U) keyBy(f: T => K) 特殊的m...
  • zbf8441372
  • zbf8441372
  • 2015-04-07 16:51
  • 6948

RDD的最常见的几个API以及scala语法解释

RDD的粗粒度的转换是否有足够的表达能力,来支持多种多样的应用需求呢?先看看RDD究竟有哪些API,然后看它们如何模拟Google经典的MapReduce和图数据处理框架Pregel。   RD...
  • shenxiaoming77
  • shenxiaoming77
  • 2017-02-01 21:38
  • 1044

Spark JAVA RDD API 最全合集整理,持续更新中~

SPARK的核心就是RDD,对SPARK的使用入门也就是对RDD的使用, 对于JAVA的开发者,Spark的RDD对JAVA的API我表示很不能上手, 单单看文档根本是没有办法理解每个API的作用...
  • xiefu5hh
  • xiefu5hh
  • 2016-06-29 10:35
  • 13311

Spark RDD算子介绍

Spark学习笔记总结 01. Spark基础 1. 介绍 Spark可以用于批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(Spark MLl...
  • x333vxhl
  • x333vxhl
  • 2017-02-13 14:19
  • 1477

Spark RDD API 参考示例(三)

Spark RDD API 参考示例详解,Spark RDD 快速入门 Spark 详解
  • u010472512
  • u010472512
  • 2017-06-08 20:45
  • 325

Spark RDD API扩展开发2 : 自定义RDD

在本博客的《Spark RDD API扩展开发(1)》文章中我介绍了如何在现有的RDD中添加自定义的函数。本文将介绍如何自定义一个RDD类,假如我们想对没见商品进行打折,我们想用Action操作来实现...
  • LW_GHY
  • LW_GHY
  • 2016-05-23 09:48
  • 833

Spark RDD API详解(一) Map和Reduce

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

Spark RDD API 参考示例(三)

Spark RDD API 参考示例详解,Spark RDD 快速入门 Spark 详解
  • u010472512
  • u010472512
  • 2017-06-08 20:45
  • 325

Spark JAVA RDD API 最全合集整理,持续更新中~

SPARK的核心就是RDD,对SPARK的使用入门也就是对RDD的使用, 对于JAVA的开发者,Spark的RDD对JAVA的API我表示很不能上手, 单单看文档根本是没有办法理解每个API的作用...
  • xiefu5hh
  • xiefu5hh
  • 2016-06-29 10:35
  • 13311
    机器学习公众号

    关注微信公众号,专

    为机器学习入门者
    个人资料
    • 访问:210727次
    • 积分:4573
    • 等级:
    • 排名:第7498名
    • 原创:114篇
    • 转载:14篇
    • 译文:3篇
    • 评论:785条
    博客专栏
    最新评论