Spark基本工作原理与RDD

原创 2018年04月17日 19:09:31

说在前面的话:由于本人第一次学习spark对知识的理解的深度不够,存在错误的地方还希望大家指出,便于我及时的去改正谢过了哈可怜

一、spark基本的原理

    1、分布式

        所谓的分布式就客户端在提交spark程序之后,spark会根据程序所指的的目录去读取数据,在这里读取数据的方式有三种HDFS、本地文件系统以及集合,在读取数据之后会把 数据分布到不同的节点上,例如现在有90万条数据,存在三个节点那么每个节点上面就会有30万数据。

    2、基于内存

        在读取来的数据默认是存放在内存当中,当内存的容量不够才会把数据写到磁盘中去,但是这一切对于用户来说都是透明的,用户不用去管何时该把数据写入内存。

    3、迭代式计算

        在数据都读取到内存之后回去执行spark程序所指定的计算操作,这些计算都是内存式迭代计算可以有n多个阶段

    4、补充:spark与MR的区别如下:

            (1)、MR只有map与reduce两个阶段,当这两个阶段完了之后计算也就完成了所以处理能力有限,但是Spark有N多个阶段处理的能力相对于MR有所提高

            (2)spark是基于内存的,而MR在运算的过程中要经过磁盘所以速度相对于spark慢

    5、说了这么多直接上图


二、RDD

    1、RDD即分布式弹性数据集

    2、所谓分布式就是读去的数据分为不同的分区,这些分区散落在集群的不同节点上这就是分布式的体现

    3、所谓数据集就是多个分区的数据构成了RDD这个集合

    4、所谓弹性就是指在分区的内存没有足够的容量来存放数据时候数据会被写入磁盘

    5、容错性,在某个分区因为各种原因造成数据的损坏和丢失,这时spark不会脆弱到直接报错而是从数据的来源重新计算一次得到到原来的数据

    6、RDD的示意图

    

    spark计算过程主要是RDD的迭代计算过程

三、综合spark的原理RDD如下图所示:

    


spark的基本工作原理和RDD

spark的基本工作原理和RDD
  • VectorYang
  • VectorYang
  • 2017-06-16 09:42:09
  • 435

Spark运行原理和RDD解密

1.实战解析Spark运行原理 交互式查询(shell,sql) 批处理(机器学习,图计算) 首先,spark是基于内存的分布式高效计算框架,采用一栈式管理机制,同时支持流处理,实时交互式出,批...
  • sundujing
  • sundujing
  • 2016-05-06 11:22:55
  • 2516

spark RDD的原理

RDD详解RDD(Resilient Distributed Datasets弹性分布式数据集),是spark中最重要的概念,可以简单的把RDD理解成一个提供了许多操作接口的数据集合,和一般数据集不同...
  • stark_summer
  • stark_summer
  • 2015-07-31 20:13:30
  • 18285

[1.3]Spark core编程(二)之RDD执行流程图与RDD的基本操作

参考DT大数据梦工厂 Spark官网场景 RDD的基本操作 1、计算并在控制台输出某文件中 相同行的个数. 例如,文件内容如下: hello world hello world hadoo...
  • PENGYUCHENG32109
  • PENGYUCHENG32109
  • 2016-05-26 16:41:40
  • 925

Spark算子:RDD基本转换操作(4)–union、intersection、subtract

union def union(other: RDD[T]): RDD[T] 该函数比较简单,就是将两个RDD进行合并,不去重。   scala> var rdd1 = sc.ma...
  • wisgood
  • wisgood
  • 2016-09-26 13:56:03
  • 1432

spark基本工作原理

spark基本工作原理 spark基本原理是怎么样?包括哪些内容? 1、分布式 2、主要基于内存(一部分读取磁盘) 3、迭代式计算 下面用图来表示:...
  • u010220089
  • u010220089
  • 2015-10-31 20:28:22
  • 1490

Spark RDD使用详解1--RDD原理

在集群背后,有一个非常重要的分布式数据架构,即弹性分布式数据集(Resilient Distributed Dataset,RDD)。它是一种有容错机制的特殊集合,可以分布在集群的节点上,以函数式编操...
  • guohecang
  • guohecang
  • 2016-06-22 19:34:07
  • 16342

跟天齐老师学Spark(8)--Spark RDD综合练习

综合练习:通过基站信息计算家庭地址和工作地址 需求:根据手机信号来计算其所在的位置 手机一开机,就会和附近的基站建立连接,建立连接和断开连接都会被记录到服务器上的日志, 所以即使没手机有开启...
  • xbs1019
  • xbs1019
  • 2017-02-06 23:09:50
  • 456

2.Spark Streaming:基本工作原理

Spark Streaming简介 Spark Streaming是Spark Core API的一种扩展,它可以用于进行大规模、高吞吐量、容错的实时数据流的处理。它支持从很多种数据源中读取数据,比如...
  • weixin_32265569
  • weixin_32265569
  • 2017-11-14 22:05:56
  • 141

spark原理及工作流程

1.1spark简介 1、Spark 是什么 Spark 是基于内存计算的大数据并行计算框架。Spark基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性,允许用户...
  • qq_16365849
  • qq_16365849
  • 2016-02-07 11:09:26
  • 4847
收藏助手
不良信息举报
您举报文章:Spark基本工作原理与RDD
举报原因:
原因补充:

(最多只允许输入30个字)