热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

算子_Spark——RDD算子

本文由编程笔记#小编为大家整理,主要介绍了Spark——RDD算子相关的知识,希望对你有一定的参考价值。
本文由编程笔记#小编为大家整理,主要介绍了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 行动操作。



推荐阅读
author-avatar
拍友2702932701
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有