RDD算子、RDD依赖关系

RDD:弹性分布式数据集, 是分布式内存的一个抽象概念

RDD:1.一个分区的集合,

    2.是计算每个分区的函数 ,

      3.RDD之间有依赖关系

   4.一个对于key-value的RDD的Partitioner

5.一个存储存取每个Partition的优先位置的列表

RDD算子:

Transformations:不会立即执行,只是记录这些操作

Actions:计算只有在action被提交的时候才被触发。

RDD依赖关系:

窄依赖指的是每一个父RDD的Partition最多被子RDD的一个Partition使用

宽依赖指的是多个子RDD的Partition会依赖同一个父RDD的Partition

原文地址:https://www.cnblogs.com/dummyly/p/10041617.html

时间: 2024-11-13 09:47:11

RDD算子、RDD依赖关系的相关文章

RDD依赖关系

概述 RDD只支持粗粒度转换,即在大量记录上执行的单个操作.将创建RDD的一系列Lineage(血统)记录下来,以便恢复丢失的分区.RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD的部分分区数据丢失时,它可以根据这些信息来重新运算和恢复丢失的数据分区. 示例代码如下: def main(args: Array[String]): Unit = { val sc: SparkContext = new SparkContext(new SparkConf() .setMaste

RDD的依赖关系

RDD的依赖关系 Rdd之间的依赖关系通过rdd中的getDependencies来进行表示, 在提交job后,会通过在DAGShuduler.submitStage-->getMissingParentStages privatedefgetMissingParentStages(stage: Stage): List[Stage] = { valmissing =newHashSet[Stage] valvisited =newHashSet[RDD[_]] defvisit(rdd: RD

spark 源码分析之一 -- RDD的四种依赖关系

RDD的四种依赖关系 RDD四种依赖关系,分别是 ShuffleDependency.PrunDependency.RangeDependency和OneToOneDependency四种依赖关系.如下图所示:org.apache.spark.Dependency有两个一级子类,分别是 ShuffleDependency 和 NarrowDependency.其中,NarrowDependency 是一个抽象类,它有三个实现类,分别是OneToOneDependency.RangeDepende

大数据技术之_19_Spark学习_02_Spark Core 应用解析+ RDD 概念 + RDD 编程 + 键值对 RDD + 数据读取与保存主要方式 + RDD 编程进阶 + Spark Core 实例练习

第1章 RDD 概念1.1 RDD 为什么会产生1.2 RDD 概述1.2.1 什么是 RDD1.2.2 RDD 的属性1.3 RDD 弹性1.4 RDD 特点1.4.1 分区1.4.2 只读1.4.3 依赖1.4.4 缓存1.4.5 CheckPoint第2章 RDD 编程2.1 RDD 编程模型2.2 RDD 创建2.2.1 由一个已经存在的 Scala 集合创建,即集合并行化(测试用)2.2.2 由外部存储系统的数据集创建(开发用)2.3 RDD 编程2.3.1 Transformatio

Apache Spark RDD之RDD的转换

RDD的转换 Spark会根据用户提交的计算逻辑中的RDD的转换和动作来生成RDD之间的依赖关系,同时这个计算链也就生成了逻辑上的DAG.接下来以“Word Count”为例,详细描述这个DAG生成的实现过程. Spark Scala版本的Word Count程序如下: 1: val file = spark.textFile("hdfs://...") 2: val counts = file.flatMap(line => line.split(" "))

Spark IMF传奇行动第22课:RDD的依赖关系彻底解密

版权声明:本文为博主原创文章,未经博主允许不得转载.作者:HaiziS 昨晚听了王家林老师的Spark IMF传奇行动第22课:RDD的依赖关系彻底解密,笔记如下: 1,窄依赖是指每个父RDD的一个Partition最多被子RDD的一个Partition所使用,例如map.filter.union等都会产生窄依赖: 2宽依赖是指一个父RDD的Partition会被多个子RDD的Partition所使用,例如groupByKey.reduceByKey.sortByKey等操作都会产生宽依赖 表面

sparkRDD:第4节 RDD的依赖关系;第5节 RDD的缓存机制;第6节 DAG的生成

4.      RDD的依赖关系 6.1      RDD的依赖 RDD和它依赖的父RDD的关系有两种不同的类型,即窄依赖(narrow dependency)和宽依赖(wide dependency). 6.2      窄依赖 窄依赖指的是每一个父RDD的Partition最多被子RDD的一个Partition使用 总结:窄依赖我们形象的比喻为独生子女.窄依赖不会产生shuffle,比如说:flatMap/map/filter.... 6.3      宽依赖 宽依赖指的是多个子RDD的Pa

spark教程(四)-SparkContext 和 RDD 算子

SparkContext SparkContext 是在 spark 库中定义的一个类,作为 spark 库的入口点: 它表示连接到 spark,在进行 spark 操作之前必须先创建一个 SparkContext 的实例,并且只能创建一个: 利用 SparkContext 实例创建的对象都是 RDD,这是相对于 SparkSession 说的,因为 它创建的对象都是 DataFrame: 创建 sc class SparkContext(__builtin__.object): def __i

RDD 算子补充

一.RDD算子补充 1.mapPartitions         mapPartitions的输入函数作用于每个分区, 也就是把每个分区中的内容作为整体来处理.   (map是把每一行) mapPartitions一次处理一个分区的所有数据,而map算子一次处理分区中的一条数据,所以mapPartitions处理数据的速度比map快,如果RDD分区的数据很庞大,用mapPartitions容易造成内存溢出, 如果RDD分区数据量小,从而提升速度的角度考虑,可以使用mapPartitions算子