Spark学习二:RDD的创建、转换、求值和缓存操作

RDD的简单说明

RDD称为弹性分布式数据集(Resilient Distributed Dataset),其实就是分布式的元素集合,对RDD的操作可以分为四类:创建、转化、求值和缓存,如下:
在这里插入图片描述
RDD是一个不可变的分布式对象集合,每个RDD被分为多个分区,运行在集群中的不同节点上。创建RDD后可对其执行转化操作(Transformation)、行动(Action)操作和缓存操作。

Spark采用惰性计算方式计算这引些操作,只有遇到第一个行动操作时才会真正的开始计算。

区分转化操作和行动操作的一个重要标志是返回类型:转化操作返回的是RDD,而行动操作返回的是其他的数据类型。

不应该把RDD看作存放特定数据的数据集,最好把每个RDD当作通过转化操作构建出来的、记录如何计算数据的指令列表。

RDD的依赖包括:窄依赖和宽依赖。窄依赖是指父RDD的分区最多只能被一个子RDD的分区所引用,即一个父RDD的分区对应一个子RDD的分区,或者多个父RDD的分区对应一个子RDD的分区。宽依赖就是指子RDD的分区依赖于父RDD的多个分区或所有分区,即存在一个父RDD的一个分区对应一个子RDD的多个分区,如下图:
在这里插入图片描述

创建RDD

读取外部数据集或在驱动器程序中对一个集合进行并行化,常用的操作包含:
在这里插入图片描述

转换操作

将RDD转变为另一个RDD,常见的转化操作有包含:
在这里插入图片描述
在这里插入图片描述

行动操作

会对RDD计算出一个结果,并把结果返回到驱动器程序中,常用的行动操作包括:
在这里插入图片描述
在这里插入图片描述

缓存操作

Spark默认情况下会在每次对RDD进行选择操作时重新计算,如果想在多个行动操作中重用同一个RDD,可以把这个RDD缓存到内存或磁盘上。常用的缓存操作如下:
在这里插入图片描述

代码示例

请从SparkDemo下载未例代码,运行的环境搭建从参考Spark学习一:搭建基于Gradle和Scale的Spark工程,其中:

  • SparkUtils–创建RDD
  • RDDActionFunctions–行动操作
  • RDDTransformFunctions --转换操作
  • RDDCacheFunctions --缓存操作
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值