RDD: Resilient Distributed Dataset

RDD的特点
1、A list of partitions  
    一系列的分片:比如说64M一片;类似于Hadoop中的split;
 
2、A function for computing each split
    在每个分片上都有一个函数去迭代/执行/计算它
 
3、A list of dependencies on other RDDs
    一系列的依赖:RDDa转换为RDDb,RDDb转换为RDDc,那么RDDc就依赖于RDDb,RDDb就依赖于RDDa
 
4、Optionally, a Partitioner for key-value RDDs (e.g. to say that the RDD is hash-partitioned) 
    对于key-value的RDD可指定一个partitioner,告诉它如何分片;常用的有hash,range
 
5、Optionally, a list of preferred location(s) to compute each split on (e.g. block locations for an HDFS file)
    要运行的计算/执行最好在哪(几)个机器上运行。数据本地性。
  为什么会有哪几个呢?
  比如:hadoop默认有三个位置,或者spark cache到内存是可能通过StorageLevel设置了多个副本,所以一个partition可能返回多个最佳位置。
 
前三个特点对应于Lineage,后两个对应于Optimized execution
 
对于如上的5个特点,对应于RDD中的5个方法
getPartitions the set of partitions in this RDD
compute compute a given partition
getDependencies return how this RDD depends on parent RDDs
partitioner specify how they are partitioned
getPreferredLocations specify placement preferences
 
 
 
 
 
 
 
  HadoopRDD Filtered RDD JoinedRDD
partitions HDFS上的block 与父RDD一致 一个partition一个任务
dependencies 与父RDD 一对一 依赖shuffle的每个父RDD
compute 读取每个block的信息 计算父RDD的每个分区并过滤 读取shuffle数据      
partitioner HDFS block所在位置 HashPartitioner
preferredLocations 无(与父RDD一致)
 
 
 
 
 
 
 

Spark核心概念之RDD的更多相关文章

  1. Spark核心概念理解

    本文主要内容来自于<Hadoop权威指南>英文版中的Spark章节,能够说是个人的翻译版本号,涵盖了基本的Spark概念.假设想获得更好地阅读体验,能够訪问这里. 安装Spark 首先从s ...

  2. 深入理解Spark(一):Spark核心概念RDD

    RDD全称叫做弹性分布式数据集(Resilient Distributed Datasets),它是一种分布式的内存抽象,表示一个只读的记录分区的集合,它只能通过其他RDD转换而创建,为此,RDD支持 ...

  3. Spark 核心概念 RDD 详解

    RDD全称叫做弹性分布式数据集(Resilient Distributed Datasets),它是一种分布式的内存抽象,表示一个只读的记录分区的集合,它只能通过其他RDD转换而创建,为此,RDD支持 ...

  4. Spark 核心概念RDD

    文章正文 RDD全称叫做弹性分布式数据集(Resilient Distributed Datasets),它是一种分布式的内存抽象,表示一个只读的记录分区的集合,它只能通过其他RDD转换而创建,为此, ...

  5. Spark核心概念

    1.Application     基于spark的用户程序,包含了一个Driver Program以及集群上中多个executor:     spark中只要有一个sparkcontext就是一个a ...

  6. Spark核心编程---创建RDD

    创建RDD: 1:使用程序中的集合创建RDD,主要用于进行测试,可以在实际部署到集群运行之前,自己使用集合构造测试数据,来测试后面的spark应用流程. 2:使用本地文件创建RDD,主要用于临时性地处 ...

  7. Spark系列-核心概念

    Spark系列-初体验(数据准备篇) Spark系列-核心概念 一. Spark核心概念 Master,也就是架构图中的Cluster Manager.Spark的Master和Workder节点分别 ...

  8. 大话Spark(1)-Spark概述与核心概念

    说到Spark就不得不提MapReduce/Hadoop, 当前越来越多的公司已经把大数据计算引擎从MapReduce升级到了Spark. 至于原因当然是MapReduce的一些局限性了, 我们一起先 ...

  9. 【Spark深入学习-11】Spark基本概念和运行模式

    ----本节内容------- 1.大数据基础 1.1大数据平台基本框架 1.2学习大数据的基础 1.3学习Spark的Hadoop基础 2.Hadoop生态基本介绍 2.1Hadoop生态组件介绍 ...

随机推荐

  1. Android 不同文件名介绍

    Android 不同文件名介绍

  2. css3 文字闪动效果

    <div id="container"> 这里查看“<span class="blink">闪烁效果</span>”,ENj ...

  3. 【宋红康学习日记1】关于环境变量设置出现的问题——找不到或无法加载主类 java

    忙活了一整天,最后被自己的小愚蠢所拜倒,不过也是学习到了很多,知道了出现问题怎样去解决. 问题是在cmd运行环境中编译我的第一个小程序HelloWorld时,javac命令可以运行,但是java命令后 ...

  4. vue通过判断写样式(v-bind)

    v-bind:style="$index % 2 > 0?'background-color:#FFF;':'background-color:#D4EAFA;'"

  5. 【oracle】数据库、表空间、用户、数据表之间的关系

    来自为知笔记(Wiz) 附件列表 新建_032515_030437_PM.jpg

  6. Install Apache, PHP And MySQL On CentOS 7 (LAMP)

    This tutorial shows how you can install an Apache2 webserver on a CentOS 7.0 server with PHP5 suppor ...

  7. Puppet Agent/Master HTTPS Communications

    The agent/master HTTP interface is REST-like, but varies from strictly RESTful design in several way ...

  8. c#处理3种json数据的实例

    网络中数据传输经常是xml或者json,现在做的一个项目之前调其他系统接口都是返回的xml格式,刚刚遇到一个返回json格式数据的接口,通过例子由易到难总结一下处理过程,希望能帮到和我一样开始不会的朋 ...

  9. 欧洲用户放弃Android转投iOS原因大起底

    据报道,近期在欧洲,有32.4%的新ios设备iPhone用户之前使用的是Android设备.那么为什么欧洲会有这么多Android用户会纷纷抛弃原有操作系统平台而转投iPhone呢? ios设备的同 ...

  10. NeHe OpenGL教程 第七课:光照和键盘

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...