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. HDP2.4安装(一):Centos7安装

    在进入大数据领域来,一直使用微软的Azure HDInsight,当前在中国区仅支持在Windows系统上部署集群,虽然创建的过程很简单,但对于开发人员来说,就是一个黑盒子,在更深入的研究和开发扩展的 ...

  2. 查看SQL执行计划

    一用户进入某界面慢得要死,查看SQL执行计划如下(具体SQL语句就不完全公布了,截断的如下): call     count       cpu    elapsed       disk       ...

  3. 会话控制:SESSION,COOKIE

    1.http协议: HTTP—超文本传输协议,在TCP协议(长连接.像一个硬件)基础上; 特点:短连接,无状态协议,没法记录本次连接的状态;适用于静态页面的访问,对于后期某些页面是需要浏览器预知客户信 ...

  4. Struts2 - Study 1

    领略下传说中的Struts2,写了个小例子,有点意思.比起.net中的MVC有意思的在于它是你自己一步步去配置实现,想怎么搞就怎么搞,.net的MVC,它干了什么事你完全不知,只不过知道怎么用而已. ...

  5. 理解javascript中的原型模式

    一.为什么要用原型模式. 早期采用工厂模式或构造函数模式的缺点:  1.工厂模式:函数creatPerson根据接受的参数来构建一个包含所有必要信息的person对象,这个函数可以被无数次的调用,工厂 ...

  6. WINRARA 排除 .svn 文件夹

    加入-x*\.svn -x*\.svn\* 即可: rar.exe u -m3 -s -r -o+ -x*.db -x*.zip -x*.rar -x*\.svn -x*\.svn\* zmv9net ...

  7. MVC entity

    1>MVC entity 1)Employee public string Id{get;private set;} public string Name{get;private set;} p ...

  8. (VS TFS) Adding existing project to solution in TFS.

    正常的情况话,直接加入project,然后选择"Source control" -> “Add selected projects to source control.... ...

  9. WebADI_Oracle ERP R12使用前WebADI设定(案例)

    2014-12-25 Created By BaoXinjian

  10. Note++ 的快捷

    Notepad++绝对是windows下进行程序编辑的神器之一,要更快速的使用以媲美VIM,必须灵活掌握它的快捷键,下面对notepad++默认的快捷键做个整理(其中有颜色的为常用招数): Ctrl+ ...