美文网首页工作生活
Spark RDD和普通集合的区别

Spark RDD和普通集合的区别

作者: 不愿透露姓名的李某某 | 来源:发表于2019-07-04 20:32 被阅读0次

RDD中存放计入的是描述信息(从哪里读取数据,以后对数据如何进行计算),RDD的方法分为两类Transformation(lazy(懒加载))、Action(生成Task,并发送到Excutor中执行)

Scala存储的是真正要计算的数据、执行方法后立即返回的结果

RDD的特点:

1.一系列分区(一个RDD里有很多分区,分区是有编号的)

2.每一个输入切片有一个函数作用在上面

3.RDD和RDD之间有存储依赖关系(是父依赖调用上面方法,传入哪些函数得到的)

    (1)宽依赖:一个父依赖有多个子依赖,多个子依赖调用父依赖的partition,例如groupByKey、reduceByKey、sortByKey(超生家庭)

    (2) 窄依赖:指每个父RDD的一个Partition最多被子RDD的一个Partition所使用,例如map、filter、union等操作都会产生窄依赖;(独生子女)

4.(可选)RDD中如果存储的是KV,shuffle是会有一个分区器,模式Hash partitioner

5.(可选)RDD如果读取的是HDFS中的数据,那么会有一个最优位置

一个分区对应一个Task(在同一个Stage),一个分区对应的Task只能在一台机器里面(在Executor),一台机器可以有多个分区对应的Task

相关文章

  • Spark RDD和普通集合的区别

    RDD中存放计入的是描述信息(从哪里读取数据,以后对数据如何进行计算),RDD的方法分为两类Transformat...

  • Spark RDD Api使用指南

    ​ 在Spark快速入门-RDD文章中学了spark的RDD。spark包含转换和行动操作。在进行spark程...

  • coalesce()方法和repartition()方法的区别

    coalesce()方法和repartition()方法的区别 Spark的RDD是分区的,经过lineage一系...

  • 1.spark基础-RDD

    1.RDD创建 Spark是以RDD概念为中心运行的。RDD是一个容错的、可以被并行操作的元素集合。创建一个RDD...

  • Spark算子:统计RDD分区中的元素及数量

    Spark RDD是被分区的,在生成RDD时候,一般可以指定分区的数量,如果不指定分区数量,当RDD从集合创建时候...

  • Spark-RDD的创建

    在Spark中创建RDD的方式有三种:1)从集合中创建;2)从外部存储创建。3)从其他RDD转化创建 从集合中创建...

  • Spark RDD实现分析

    RDD的概述 RDD是只读的、分区记录的集合,是Spark编程模型的最主要抽象,它是一种特殊的集合,支持多种数据源...

  • Spark快速大数据分析之RDD基础

    RDD基础 Spark 中的RDD 就是一个不可变的分布式对象集合。每个RDD 都被分为多个分区,这些分区运行在集...

  • Spark

    spark 请说一下spark的RDD? spark与RM的本质区别? spark的任务调度过程? 自己实现一个R...

  • Spark菜鸟的进阶之路之RDD编程一

    RDD基础 1、Spark中RDD就是一个不可变的分布式对象集合。每个RDD都被分为多个分区,这些分区运行在集群中...

网友评论

    本文标题:Spark RDD和普通集合的区别

    本文链接:https://www.haomeiwen.com/subject/iurdhctx.html