加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

一篇文章看懂 Spark RDD

发布时间:2019-04-18 14:26:48 所属栏目:教程 来源:大数据进击之路
导读:1 简介 Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。它产生于 UC Berkeley AMP Lab,继承了 MapReduce 的优点,但是不同于 MapReduce 的是,Spark 可以将结果保存在内存中,一直迭代计算下去,除非遇到 shuffle 。因此 Spark 能更好的

RDD 的五大特性:

  1. RDD 是由一系列的 Partition 组成的。
  2. 函数作用在每一个 split 上。
  3. RDD 之间有一系列依赖关系。
  4. 分区器是作用在 K,V 格式的 RDD 上。
  5. RDD 提供一系列最佳的位置

先记住这五个特性,之后的学习会慢慢体会到这样设计的好处。下面是理解 RDD 的逻辑图;​

看这个图再回头理解一下上面的五个 RDD 的特性。

RDD 的弹性表现在 Partition 的数量上,并且大小没有限制。RDD 的依赖关系,可以基于上一个 RDD 计算出下一个 RDD。RDD 的每个 partition 是分布在不同数据节点上的,所有 RDD 的分布式的。RDD 提供了一些列的最佳的计算位置,体现了数据的本地化,我之前的这篇文章写过:一文搞懂数据本地化级别

RDD 还有一个 Lineage 的东西,叫做血统。

Lineage 简介:利用内存加快数据加载,在其它的In-Memory类数据库或Cache类系统中也有实现。Spark的主要区别在于它采用血统来实现分布式运算环境下的数据容错性(节点失效、数据丢失)问题。

RDD Lineage被称为RDD运算图或RDD依赖关系图,是RDD所有父RDD的图。它是在RDD上执行transformations函数并创建逻辑执行计划(logical execution plan)的结果,是RDD的逻辑执行计划。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读