有类型转换_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_
115 0
有类型转换_split_ | 学习笔记
|
Python
dataframe 中float转字符串
要将DataFrame中的浮点数列转换为字符串列,可以使用`astype()`方法将列的数据类型转换为字符串。以下是一个示例: 假设有一个DataFrame `df`,其中包含一个名为`column_name`的浮点数列: ```python import pandas as pd # 示例DataFrame df = pd.DataFrame({'column_name': [1.0, 2.5, 3.2, 4.7]}) # 将浮点数列转换为字符串列 df['column_name'] = df['column_name'].astype(str) # 打印转换后的DataFrame
397 0
|
SQL Oracle 关系型数据库
CONVERT 转换函数的简单使用方法
CONVERT 转换函数的简单使用方法
292 0
|
图形学
【Transform3D】转换详解(看完就会)
【Transform3D】转换详解(看完就会)
88816 1
【Transform3D】转换详解(看完就会)
C++转换构造函数以及类型转换函数
🐰转换构造函数 🐰类型转换函数
|
存储 计算机视觉
OpenCV:Scalar数据类型理解
OpenCV:Scalar数据类型理解
690 0
OpenCV:Scalar数据类型理解
|
SQL 数据处理 Python
transform 数据转换的 4 个常用技巧!
transform 数据转换的 4 个常用技巧!
transform 数据转换的 4 个常用技巧!
关于⚡ValueError: cannot convert float NaN to integer⚡的有效解决办法
关于⚡ValueError: cannot convert float NaN to integer⚡的有效解决办法
关于⚡ValueError: cannot convert float NaN to integer⚡的有效解决办法
|
Java Python
Python - 基础数据类型 Number 数字、bool 布尔、complex 复数(上)
Python - 基础数据类型 Number 数字、bool 布尔、complex 复数(上)
112 0
|
Python
Python - 基础数据类型 Number 数字、bool 布尔、complex 复数(下)
Python - 基础数据类型 Number 数字、bool 布尔、complex 复数(下)
158 0