关于前端:Spark-RDD在Spark中的地位和作用如何

47次阅读

共计 933 个字符,预计需要花费 3 分钟才能阅读完成。

Spark RDD 的外围原理

1、Spark 的外围概念是 RDD (resilientdistributed dataset),指的是一个只读的,可分区的分布式数据集,这个数据集的全副或局部能够缓存在内存中,在屡次计算间重用。

2、RDD 在形象上来说是一种元素汇合,蕴含了数据。它是被分区的,分为多个分区,每个分区散布在集群中的不同 Work 节点上,从而让 RDD 中的数据能够被并行操作。(分布式数据集)

3、RDD 通常通过 Hadoop 上的文件,即 HDFS 文件或者 Hive 表,来进行创立; 有时也能够通过 RDD 的本地创立转换而来。

4、传统的 MapReduce 尽管具备主动容错、均衡负载和可拓展性的长处,然而其最大毛病是采纳非循环式的数据流模型,使得在迭代计算式要进行大量的磁盘 IO 操作。RDD 正是解决这一毛病的形象办法。

RDD 最重要的个性就是,提供了容错性,能够主动从节点失败中恢复过来。即如果某个节点上的 RDD partition,因为节点故障,导致数据丢了,那么 RDD 会主动通过本人的数据起源从新计算该 partition。这所有对使用者是通明的。RDD 的 lineage 个性。

5、RDD 的数据默认状况下寄存在内存中的,然而在内存资源有余时,Spark 会主动将 RDD 数据写入游戏磁盘。(弹性)

一、为什么会有 Spark?

因为传统的并行计算模型无奈无效的解决迭代计算 (iterative) 和交互式计算 (interactive) 而 Spark 的使命便是解决这两个问题,这也是他存在的价值和理由.

二、Spark 如何解决迭代计算?

其次要实现思维就是 RDDwww.sangpi.com, 把所有计算的数据保留在分布式的内存中. 迭代计算通常状况下都是对同一个数据集做重复的迭代计算,数据在内存中将大大晋升 IO 操作. 这也是 Spark 波及的外围: 内存计算.

三、Spark 如何实现交互式计算?

因为 Spark 是用 scala 语言实现的,Spark 和 scala 可能严密的集成, 所以 Spark 能够完满的使用 scala 的解释器, 使得其中的 scala 能够向操作本地汇合对象一样轻松操作分布式数据集.

四、Spark 和 RDD 的关系?

能够了解为:RDD 是一种具备容错性基于内存的集群计算形象办法,Spark 则是这个形象办法的实现.

正文完
 0