有类型转换_transform | 学习笔记

简介: 快速学习有类型转换_transform

开发者学堂课程【大数据 Spark 2020版(知识精讲与实战演练)第三阶段:无类型转换_选择】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/690/detail/12067


有类型转换_transform

 

内容介绍:

一、transform 使用方式

二、transform 使用场景

 

一、transform 使用方式

transform 与前面学到的 flatMap、map、mapPartitions 十分相似。

//创建一个新方法,定义为 trans1

@Test

def trans1(): unit = {

//之所以单独学习 transform,是因为之前在学习 RDD 时没有学习该算子,而该算子在某些情境下有其优点。

val ds = spark.range(10)

//创建一个数据集 ds,在 SparkSession 中,有一叫作

spark.range 的方法。在该方法中若输入“10”,即会生成 0-9

的 10 个随机数,则所得的 ds 为 0、1、2、3、4、5、6、7、8、

9。

ds.transform(dataset => dataset.withColumn("double",

'id*2))

//此处的 transform 与前面所学的的 flatMap、map、

mapPartitions 均不相同。虽然四者均为转换类比的算子,但

transform 转换的是两个数据集,是对数据集的操作,而其他三个算子无论是一次给出一个分区的数据,还是一次给出一条数据都不会把整个数据集都进行转换。在 transform 获取到 dataset 之后,即可通过 withColumn 创建新的列 double

//withColumn("double",'id*2),此 API 在后面的内容中

会继续进行学习。

.show()

}

}

运行程序,运行结果(部分)如下:

image.png

可以发现输出结果无误。

withColumn 并非本节课的重点,本节课主要要求掌握 transform 是将一个 dataset 转为另一个 dataset。


二、transform 使用场景

Transform 相较于之前学过的 3 种算子,用途相对没有那么广泛,一般会应用于一些特殊的开发场景中,如 ds 了许多 dataset,即可使用 transform 来进行转换操作。

相关文章
|
分布式计算 大数据 Spark
有类型转换_split_ | 学习笔记
快速学习有类型转换_split_
111 0
有类型转换_split_ | 学习笔记
|
前端开发
今天来讲讲 scale、translate 和 rotate 这三个属性,你不会以为我是要讲的是 transform 吧?
总所周知,transform 是 CSS3 中最强大的属性之一,它有这么三个函数属性值:scale、translate 和 rotate,它们分别是缩放、位移和旋转,但是你有没有想过有这么一天它们三个
288 0
今天来讲讲 scale、translate 和 rotate 这三个属性,你不会以为我是要讲的是 transform 吧?
|
SQL Oracle 关系型数据库
CONVERT 转换函数的简单使用方法
CONVERT 转换函数的简单使用方法
256 0
|
图形学
【Transform3D】转换详解(看完就会)
【Transform3D】转换详解(看完就会)
88798 1
【Transform3D】转换详解(看完就会)
JDK源码(9)-Double、Float
JDK源码(9)-Double、Float
175 0
JDK源码(9)-Double、Float
|
分布式计算 大数据 Spark
有类型转换_filter | 学习笔记
快速学习有类型转换_filter
有类型转换_filter | 学习笔记
|
SQL 分布式计算 算法
无类型转换_选择 | 学习笔记
快速学习无类型转换_选择
无类型转换_选择 | 学习笔记
|
SQL 分布式计算 大数据
有类型转换_as | 学习笔记
快速学习有类型转换_as
有类型转换_as | 学习笔记
|
前端开发 Java 程序员
类型转换 | 学习笔记
快速学习类型转换,介绍了类型转化系统机制, 以及在实际应用过程中如何使用。
类型转换 | 学习笔记