Column 对象_操作_别名和类型 | 学习笔记

简介: 快速学习 Column 对象_操作_别名和类型

开发者学堂课程【大数据 Spark 2020版(知识精讲与实战演练)第三阶段Column 对象_操作_别名和类型】学习笔记,与课程紧密联系,让用户快速学习知识。

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


Column 对象_操作_别名和类型

 

了解 column 对象的几种创建方式,这几种创建方式什么时候使用?其实这几种创建方式,其实并不重要,重要的是要去区分开,有两大类创建的。

第一大类为无绑定的,还有一类叫做有绑定的。在这两大类之间来进行选择。有一些场景必须用无绑定,有一些场景必须使用绑定,有绑定是四种创建方式,四种方式都一样,选任意一种都可以,有绑定也是一样的,它有两种方式,任选其一就行。

只需要选择自己熟悉的方式就可以,然后只需要区分什么时候该用无绑定,什么时候使用有绑定。选择自己喜欢的方式即可。

 

image.png

column 对象相关的一些操作,在操作当中,去说的就是别名和转换,其实是一个非常常见的操作.

别名的转换其实都是 as 算子,as 后面加上一个类型就是转换类。as 后面加上一个字符串就是别名。

打开 idea。创建出来这个方法,方法命名为叫做 def as():。

def as(): Unit ={

val ds :Dataset[Person]

=Seq(Person(“zhangsan”,15),person(“lisi”:,10)).

toDS() //引入数据集

//select name,count(age) as age from table group by name

ds.select(‘name.as(alias =”new_name”))

在结果当中就会出现一个 count age,原封不动的这样的一个列名,怎么改变这个 count age 列名?

可以 as 一个别名 age,使用 Dataset 的 API 能够完成这个 as 的操作。

‘name.as 这里面的点可以去掉。斯科拉当中调用对象的方式,加点儿也可以,不加点儿用空格。后面这个括弧也可以去掉。

参数可以没有括号,所以最后写为:

ds.select(cols =’name as ”new_name”).show

跟这个 SQL 语句有一点点像。这是创建别名环节。

ds,select(cols=‘age.as[Long]).show()

那么创建别名了解过了以后,就去看一看进行转换类型,都知道“zhangsan”,15里的15是一个 int 类型,但是其实读出来,有可能是一个scheme或者是一个 long,该怎么把它转成我想要的类型,在 ds 当中,假如说你 select:ds,select(cols=‘age),age 是int类型可以 as 一下进行转换,这种方式就被转成了一个 int 。

但是它本来就是 int ,所以转换为 long。但是呢,这个里面的 as 和前面这个 as 不太一样,这个 as[Long]里面的 as,使用泛写的形式,规定要转成哪个。前面是直接直接去起了一个别名,这点是有区别的。

接下来进行运行:

image.png

结果的第一部分叫做 new_name,第二部分,把这个 age 转成一个 long 型。

以上介绍两个知识点,第一个起别名,第二个转类型。

相关文章
|
Java 数据库连接 mybatis
mybatis返回map类型数据空值字段不显示(三种解决方法)
mybatis返回map类型数据空值字段不显示(三种解决方法)
|
3月前
|
SQL
列的别名实例
【7月更文挑战第15天】列的别名实例。
32 1
|
5月前
|
SQL 存储 Oracle
为什么 GROUP BY 之后不能直接引用原表中的列
为什么 GROUP BY 之后不能直接引用原表中的列
41 1
|
5月前
mongoTemplate 嵌套对象包含id
mongoTemplate 嵌套对象包含id
52 0
|
C++
接口 vs 类型别名
接口 vs 类型别名
65 0
|
Java 数据库连接 数据库
属性名和字段名不一致| 学习笔记
快速学习属性名和字段名不一致。
属性名和字段名不一致| 学习笔记
|
分布式计算 Java 大数据
Column 对象_创建1 | 学习笔记
快速学习 Column 对象_创建1
121 0
Column 对象_创建1 | 学习笔记
|
分布式计算 大数据 API
Column 对象_创建_有绑定| 学习笔记
快速学习 Column 对象_创建_有绑定
 Column 对象_创建_有绑定| 学习笔记
|
网络协议 编译器 测试技术
创建 struct 实例指定字段值 | 学习笔记
快速学习创建 struct 实例指定字段值
|
XML Java 数据库连接
解决表的列名和对象的属性名不匹配
解决表的列名和对象的属性名不匹配
148 0
解决表的列名和对象的属性名不匹配
下一篇
无影云桌面