`
m635674608
  • 浏览: 5028497 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Spark学习笔记之SparkRDD

 
阅读更多

一、   基本概念

 

  1. RDD(resilient distributed datasets)弹性分布式数据集。

 来自于两方面

①   内存集合和外部存储系统

②   通过转换来自于其他RDD,如map,filter等

2.创建操作(creation operation):RDD的创建由SparkContext来负责。

3.转换操作(transformation operation):将一个RDD通过一定操作转换为另一个RDD。

4.控制操作(control operation):对RDD进行持久化等。

5.行动操作(action operation):Spark为惰性计算,对RDD的行动操作都会触发Spark作业的运行。

基本分为两类

①   使操作结果变为Scala变量或者标量。

②   将RDD保存到外部文件或者数据库系统中。

6.RDD分区(partitions)

分区多少关系到对这个RDD进行并行计算的粒度,每一个RDD分区的计算操作都在一个单独的任务中被执行

7.RDD优先位置(preferredLocations)

是RDD中每个分区所存储的位置

8.RDD依赖关系(dependencies)

窄依赖:每一个父RDD的分区最多只被子RDD的一个分区使用

宽依赖:多个子RDD的分区会依赖同一个父RDD的分区

9.RDD分区计算(compute)

Spark中每个RDD的计算都是以分区为单位的,而且RDD中的compute函数都是在对迭代器进行复合,只返回相应分区数据的迭代器。

10.RDD分区函数(partitioner)

两类分区函数:HashPartitioner和RangPartitioner。

二、   创建操作

  1. 集合创建操作:makeRDD可以指定每个分区perferredLocations参数parallelize则没有
  2. 存储创建操作:Spark与Hadoop完全兼容,所以对Hadoop所支持的文件类型或者数据库类型,Spark同样支持。
  3. 基本转换操作

三、   转换操作

map:将RDD中T类型一对一转换为U

distinct:返回RDD不重复元素

flatMap:将元素一对多转换

reparation、coalesce:对RDD分区重新划分,reparation只是coalesce接口中shuffle为true的简易实现

randomSplit:将RDD切分

glom:将类型为T的元素转换为Array[T]

union等等

  1. 键值RDD转换操作

partitionBy、mapValues、flatMapValues等

  1. RDD依赖关系,Spark生成的RDD对象一般多于用户书写的Spark应用程序中包含的RDD,因为RDD在转换操作过程中产生临时的RDD

四、   控制操作

cache():

persist():保留着RDD的依赖关系

checkpoint(level:StorageLevel):RDD[T]切断RDD依赖关系

五、   行动操作

  1. 集合标量行动操作

first:返回RDD第一个元素

count:返回RDD中元素个数

reduce:对RDD的元素进行二元计算

aggregate:聚合函数

fold:是aggregate的便利借口

  1. 存储行动操作

saveAsHadoopFile

saveAsHadoopDataset等

 

http://www.cnblogs.com/ChouYarn/p/4437902.html

分享到:
评论

相关推荐

    Spark学习笔记 Spark学习笔记 Spark学习笔记

    Spark 学习笔记 Spark 是一个基于内存的分布式计算框架,它提供了高效、灵活、可扩展的数据处理解决方案。Spark 的核心组件是 Resilient Distributed Dataset (RDD),它是一个弹性的分布式数据集合,提供了高效的...

    spark学习笔记

    ### Spark学习笔记 #### Apache Spark简介 Apache Spark是一款专为大规模数据处理而设计的高性能、通用的计算引擎。它的核心特点在于提供了强大的内存计算能力,从而显著提升了数据处理的速度。Spark最初采用Scala...

    Spark学习笔记

    spark核心部分分为RDD。Spark SQL、Spark Streaming、MLlib、GraphX、Spark R等核心组件解决了很多的大数据问题,其完美的框架日受欢迎。其相应的生态环境包括zepplin等可视化方面,正日益壮大。大型公司争相实用...

    spark笔记整理文档

    本篇笔记将深入探讨Spark的核心概念、架构设计以及实际应用,旨在帮助读者全面理解并掌握Spark。 1. Spark概述: Spark最初由加州大学伯克利分校AMPLab开发,其设计理念是提供一个快速、通用且可扩展的大数据处理...

    Spark学习笔记一

    Spark的核心数据抽象是弹性分布式数据集(RDD),RDD是只读的、分区的数据集合,分布在集群的不同节点上。RDD具有可分区性,每个RDD可以由多个分区组成。RDD之间的转换(即由一个RDD变为另一个RDD)通常在内存中完成...

    Spark大数据处理学习笔记

    本资源 Spark 大数据处理学习笔记对 Spark 大数据处理进行了系统的学习笔记,涵盖了 Spark Standalone 集群的搭建、RDD 的创建和算子、RDD 的分区、RDD 典型案例等多个方面的知识点。 一、Spark 大数据处理学习笔记...

    spark 笔记、学习笔记、资料

    Spark的核心组件包括驱动程序和弹性分布式数据集(RDD)。驱动程序负责执行用户定义的主要功能,管理和调度任务在集群上的执行。RDD是Spark的基础数据结构,它是一个不可变的、分区的数据集,可以在集群中并行处理。...

    Spark学习笔记三

    本篇笔记主要探讨Spark中的共享变量、RDD持久化、checkpoint机制、运行模式以及任务调度等相关知识点。 1. **共享变量** - **累加器(Accumulator)**:累加器是一种只能增加不能减少的共享变量,常用于统计任务中...

    spark笔记.zip

    Spark的核心在于它的弹性分布式数据集(Resilient Distributed Datasets,RDD),这是一种容错的内存计算模型,使得数据处理速度大幅提升。Spark支持多种编程语言,包括Java、Scala、Python和R,方便不同背景的开发...

    spark资料笔记代码

    尚硅谷的Spark资料笔记代码提供了一个深入学习和理解Spark的宝贵资源库,涵盖理论知识、实践案例以及代码示例。 一、Spark核心概念 Spark的核心在于其弹性分布式数据集(Resilient Distributed Datasets,简称RDD)...

    Spark-Core学习知识笔记整理

    Spark-Core文档是本人经三年总结笔记汇总而来,对于自我学习Spark核心基础知识非常方便,资料中例举完善,内容丰富。具体目录如下: 目录 第一章 Spark简介与计算模型 3 1 What is Spark 3 2 Spark简介 3 3 Spark...

    spark全套学习资料.zip

    《Spark学习全套技术》 Spark,作为大数据处理领域的重要框架,因其高效、易用和弹性扩展的特性,深受开发者喜爱。本套学习资料全面涵盖了Spark的核心技术和应用实践,旨在帮助学习者深入理解Spark并掌握其在大数据...

    Spark学习笔记之Spark SQL的具体使用

    Spark SQL学习笔记 Spark SQL是Apache Spark平台下的一个模块,提供了一个编程抽象叫做DataFrame,并且作为分布式SQL查询引擎的作用。Spark SQL是Spark平台下的一个重要组件,主要用于处理结构化数据。 Spark SQL...

    Spark学习笔记—Spark计算模型

    RDD是Spark核心数据结构,它是逻辑集的实体,在集群中多台机器之间进行数据分区,通过对多台机器上RDD分区的控制,能够减少数据的重排(data Shuffling)。Spark通过partitionBy运算符对原始RDD进行数据再分配从而创建...

    spark:spark学习笔记

    【Spark:Spark学习笔记】 Spark,作为大数据处理领域的重要框架,以其高效、易用和弹性伸缩性赢得了广泛赞誉。本笔记将从基础概念出发,深入探讨Spark的核心特性,包括RDD(Resilient Distributed Datasets)、...

    Spark—Python学习笔记.zip

    本学习笔记将深入探讨如何利用PySpark进行数据处理和分析,帮助你掌握这一核心技术。 首先,PySpark是Apache Spark与Python的结合,允许开发者用Python编写Spark应用程序。它提供了丰富的数据处理接口,包括RDD...

Global site tag (gtag.js) - Google Analytics