Spark——RDD算子

Posted Java学习基地Java毕设定制

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark——RDD算子相关的知识,希望对你有一定的参考价值。

Spark(3)——RDD算子

RDD 的基本概念
RDD 是 Spark 提供的最重要的抽象概念,它是一种有容错机制的特殊数据集合,可以分布在集群的结点上,以函数式操作集合的方式进行各种并行操作。

通俗点来讲,可以将 RDD 理解为一个分布式对象集合,本质上是一个只读的分区记录集合。每个 RDD 可以分成多个分区,每个分区就是一个数据集片段。一个 RDD 的不同分区可以保存到集群中的不同结点上,从而可以在集群中的不同结点上进行并行计算。

下图展示了 RDD 的分区及分区与工作结点(Worker Node)的分布关系。

Spark(3)——RDD算子

RDD 具有容错机制,并且只读不能修改,可以执行确定的转换操作创建新的 RDD。具体来讲,RDD 具有以下几个属性。

  只读:不能修改,只能通过转换操作生成新的 RDD。
  分布式:可以分布在多台机器上进行并行处理。
  弹性:计算过程中内存不够时它会和磁盘进行数据交换。
  基于内存:可以全部或部分缓存在内存中,在多次计算间重用。

转换函数:

RDD 的转换操作是返回新的 RDD 的操作。转换出来的 RDD 是惰性求值的,只有在行动操作中用到这些 RDD 时才会被计算。

许多转换操作都是针对各个元素的,也就是说,这些转换操作每次只会操作 RDD 中的一个元素,不过并不是所有的转换操作都是这样的。下面举例描述了常用的 RDD 转换操作。

Spark(3)——RDD算子

行动操作

行动操作用于执行计算并按指定的方式输出结果。行动操作接受 RDD,但是返回非 RDD,即输出一个值或者结果。在 RDD 执行过程中,真正的计算发生在行动操作。表 2 描述了常用的 RDD 行动操作。

以上是关于Spark——RDD算子的主要内容,如果未能解决你的问题,请参考以下文章

spark算子介绍

Spark RDD算子实战

Spark 算子

Spark基础学习笔记17:掌握RDD算子

pyspark3.0.0+spark3.0.0学习01(RDD的创建,RDD算子(常用Transformation算子 常用Action算子 分区操作算子)的学习及应用)

Spark之RDD算子