RDD 算子_ Action _ take | 学习笔记

简介: 快速学习 RDD 算子_ Action _ take

开发者学堂课程【大数据Spark2020最新课程(知识精讲与实战演练)第二阶段RDD 算子_ Action _ take学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/689/detail/11983


RDD 算子_ Action _ take


内容介绍

一、前言

二、实例讲解

三、总结

 

一、前言

接下来介绍几个用于获取数据的算子,前面我们接触了一个获取数据的算子,叫做 collect 。有一个叫做 first 的算子,也是用于获取数据,与 collect 获取整个集合不同 , first 只获取第一个元素。叫做 take 的算子可以用于获取前  n 个元素。叫做 takeSample 的算子与前面的 Sample 一样,但它是直接拿到结果,而 Sample 是在数据整理完后,再经过 Action 获取结果。

1.png


二、实例讲解

进入代码,创建新方法,创建集合,定义几个元素,然后 print ,调用 first take takeSample ,完成整个代码的编写,运行代码,查看结果。 take takeSample 返回的结果是一个数组,需要特殊处理一下。代码如下:

@Test

def take() : Unit = {

val rdd = sc.parallelize(Seq(1,2,3,4,5,6))

rdd.take(num = 3).foreach(item => println(item))

println(rdd.first())

rdd.takeSample(withReplacement = true,num = 3)).foreach(item => println(item))

}

通过结果可以看出,这三个结果中间还有额外的 Log take 的结果有三个, first 的结果是一个, takeSample 的结果有三个,出现了放回现象。如果想改成无放回现象,只需要把代码中的 true 改成 flase 即可。


三、总结

简单总结一下, take takeSample 都是获取数据,一个是直接获取,一个是采样获取。 first 在一般情况下, Action 会从所有分区获取数据,速度相对较慢,但它只获取第一个元素,只会处理第一个分区,无需处理所有数据,处理速度较快。

相关文章
|
存储 分布式计算 并行计算
Spark学习---2、SparkCore(RDD概述、RDD编程(创建、分区规则、转换算子、Action算子))(一)
Spark学习---2、SparkCore(RDD概述、RDD编程(创建、分区规则、转换算子、Action算子))(一)
|
6月前
|
机器学习/深度学习 分布式计算 数据库连接
[Spark精进]必须掌握的4个RDD算子之filter算子
[Spark精进]必须掌握的4个RDD算子之filter算子
146 2
|
存储 分布式计算 对象存储
Spark学习---2、SparkCore(RDD概述、RDD编程(创建、分区规则、转换算子、Action算子))(二)
Spark学习---2、SparkCore(RDD概述、RDD编程(创建、分区规则、转换算子、Action算子))(二)
|
分布式计算 大数据 调度
RDD 算子_ Action _ countByKey | 学习笔记
快速学习 RDD 算子_ Action _ countByKey
RDD 算子_ Action _ countByKey | 学习笔记
|
分布式计算 算法 大数据
RDD 算子_ Action _ reduce | 学习笔记
快速学习 RDD 算子_ Action _ reduce
116 0
RDD 算子_ Action _ reduce | 学习笔记
|
分布式计算 大数据 开发者
RDD 算子_ Action _ foreach | 学习笔记
快速学习 RDD 算子_ Action _ foreach
RDD 算子_ Action _ foreach | 学习笔记
|
数据采集 分布式计算 大数据
Rdd 算子_转换_filter | 学习笔记
快速学习 Rdd 算子_转换_filter
107 0
Rdd 算子_转换_filter | 学习笔记
|
分布式计算 大数据 开发者
RDD 算子_转换 join | 学习笔记
快速学习 RDD 算子_转换 join
104 0
RDD 算子_转换 join | 学习笔记
|
分布式计算 大数据 开发者
Rdd 算子_转换_groupbykey | 学习笔记
快速学习 Rdd 算子_转换_groupbykey
144 0
Rdd 算子_转换_groupbykey | 学习笔记
|
分布式计算 大数据 Scala
RDD 算子_转换_ foldByKey | 学习笔记
快速学习 RDD 算子_转换_ foldByKey
161 0
RDD 算子_转换_  foldByKey | 学习笔记