深入理解spark-rdd详解

1.我们在使用spark计算的时候,操作数据集的感觉很方便是因为spark帮我们封装了一个rdd(弹性分布式数据集Resilient Distributed Dataset);

那么rdd数据本身是如何存储的呢,又是如何调度读取的?

spark大部分时候都是在集群上上运行的,那么数据本身一定是也是分布式存储的,数据是由每个Excutor的去管理多个block的,而元数据本身是由driver的blockManageMaster来管理,当每个excutor创建的时候也会创建相对应的数据集管理服务blockManagerSlave,当使用某一些block时候,slave端会创建block并向master端去注册block,同理删除某些block时候,master向slave端发出申请,再有slave来删除对应的block数据。由此可见,实际上物理数据都excutor上,数据的关系管理由driver端来管理。

rdd架构图如下:

未完待续。。。。。

原文地址:https://www.cnblogs.com/yankang/p/9826140.html

时间: 2024-11-09 06:23:49

深入理解spark-rdd详解的相关文章

深入探究Spark -- RDD详解

Spark最基本.最根本的数据抽象 RDD基于内存,提高了迭代式.交互式操作的性能 RDD是只读的,只能通过其他RDD批量操作来创建,提高容错性    另外RDD还具有位置感知性调度和可伸缩性 RDD只支持粗粒度转换,记录Lineage,用于恢复丢失的分区,从物理存储的数据计算出相应的RDD分区 RDD的5个主要属性: 1.一组分片,默认的分片个数等于core数.BlockManager进行分配. 2.一个compute计算分区函数,对迭代器进行复合,以分片为单位 3.RDD之间的依赖关系,使数

Spark RDD详解

1.RDD是什么 RDD:Spark的核心概念是RDD (resilientdistributed dataset),指的是一个只读的,可分区的分布式数据集,这个数据集的全部或部分可以缓存在内存中,在多次计算间重用. RDD的描述 Internally, each RDD is characterized by five main properties: A list of partitions A function for computing each split A list of depe

[Spark]-RDD详解之变量&操作

RDD的操作 1.1 概述    RDD整体包含两大类操作 transformation 从现有中创建一个新的数据集 action 在对数据集做一定程度的计算后将结果返回        以MapReduce来说,Map就是一个transformation ,它是从每个文件块上执行一个方法来抽取转换,最终形成一个新的数据集.而Reduce就是一个action,它在对数据集执行一个函数进行计算后返回一个结果 对于所有的transformation,都是Lazy的,也就是说它不会立即执行,只是单纯的记

Apache Spark源码走读之13 -- hiveql on spark实现详解

欢迎转载,转载请注明出处,徽沪一郎 概要 在新近发布的spark 1.0中新加了sql的模块,更为引人注意的是对hive中的hiveql也提供了良好的支持,作为一个源码分析控,了解一下spark是如何完成对hql的支持是一件非常有趣的事情. Hive简介 Hive的由来 以下部分摘自Hadoop definite guide中的Hive一章 "Hive由Facebook出品,其设计之初目的是让精通SQL技能的分析师能够对Facebook存放在HDFS上的大规模数据集进行分析和查询. Hive大大

spark配置详解

对付看把 到这里格式变化太大了,懒得调整了,这是大概spark1.5版本时候的一些参数默认值,现在2.x会有变化 这些皆可在 spark-default.conf配置,或者部分可在 sparkconf().set设置 应用程序属性 |--------------------------------------------------------------------------------------------| 属性名称                                   

Spark(六) -- RDD详解

What is RDD? A Resilient Distributed Dataset(RDD),分布式弹性数据集,是Spark上的一个核心抽象 表示用于并行计算的,不可修改的,对数据集合进行分片的数据结构 在Spark上,针对各种各样的计算场景存在着各种各种的RDD,这些RDD拥有一些共同的操作,例如map,filter,persist等,就好像RDDs都是一个总RDD的子类一样,拥有所有RDD的共同特性 同时RDDs也拥有能表达自己特性的操作,例如PairRDDR有groupByKey,j

Spark函数详解系列--RDD基本转换

摘要:   RDD:弹性分布式数据集,是一种特殊集合 ‚ 支持多种来源 ‚ 有容错机制 ‚ 可以被缓存 ‚ 支持并行操作,一个RDD代表一个分区里的数据集   RDD有两种操作算子:          Transformation(转换):Transformation属于延迟计算,当一个RDD转换成另一个RDD时并没有立即进行转换,仅仅是记住了数据集的逻辑操作          Ation(执行):触发Spark作业的运行,真正触发转换算子的计算 本系列主要讲解Spark中常用的函数操作:  

Spark函数详解系列之RDD基本转换

摘要: RDD:弹性分布式数据集,是一种特殊集合 ? 支持多种来源 ? 有容错机制 ? 可以被缓存 ? 支持并行操作. RDD有两种操作算子: Transformation(转换):Transformation属于延迟计算,当一个RDD转换成另一个RDD时并没有立即进行转换,仅仅是记住了数据集的逻辑操作 Action(执行):触发Spark作业的运行,真正触发转换算子的计算 本节所讲函数 1.map(func) 2.flatMap(func) 3.mapPartitions(func) 4.ma

spark的rdd详解1

1,rdd的转换和行动操作 2,创建rdd的2种方式 1,通过hdfs支持的文件系统,没有真正把数据放rdd,只记录了一下元数据 2,通过scala的集合或者数组并行化的创建rdd 3,rdd的5大特点 1,rdd是分区的,可以指定分区数 2,算子的方法都会作用在每个分区 3,rdd之前有一系列的依赖,所有依赖形成DAG图,DAG计算单位是阶段 4,k-v的rdd可以选择分区器,默认的是hash-partitioned 5,会选择最优的位置计算每个分区,避免跨网络传输数据 原文地址:https: