Column对象_操作_API | 学习笔记

简介: 快速学习 Column对象_操作_API

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

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


Column对象_操作_API

 

接下来学习 Column 对象当中的一些方法和 API ,进入到笔记当中,要了解四个方法,分别是 withColumn、like、isin、sort。

image.png

接下来了解这些操作进入到这个 idea 当中,其实这些 Column 的操作,前面或多或少都见过,所以这一小节就对其进行一个总结。

def api(): Unit ={

val ds :Dataset[Person]

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

toDS()

//age*2其实本质上就是将一个表达式,那是逻辑计划表达式,附着到这个 Column 对象上,然后这个表达式表达式在执行的时候,对应每一条数据进行操作,这个就是乘号,这个乘号其实是 Column 当中的方法。

比如:ds.withColumn(colName =”doubled”,’age.*(other =2))

.*(other =2)这是在调用一个方法,只不过这个方法名字特殊一点,叫做长号,这种自定义操作符*,也是 SQL 当中的一个极其奇怪的一个特点。

//需求一,希望扩展 ds ,增加新的列(双倍年龄)

ds.withColumn(colName =”doubled”,col =’age =2).show()

//withColumn需要制定一个列名,命名为 doubled,取到年龄乘以2,实现把年龄双倍。

//需求二,执行一个模糊查询

//SQL 语句中:select*from table where name like zhang%

ds.where(codition =’name like “zhangsan%”).show()

//进行查询使用 where,就可以使用 name ,查看 zhangsan,加一个百分号,这个百分号代表统配的意思

//需求三, 规定正反序

ds.sort(sortExprs =’age asc).show()

升序 asc,降序 dsc。

//需求四, 判断一下枚举

ds.where(condition

=‘name isin(“zhangsan”,”wangwu”,”zhaoliu”)).show()

//想查三个名字的用户,用 name isin 进行判断,来一个元组,放入这三个用户。

以上就是四个需求。

比如说,现在在 column 对象中,点上 Structure,点开这个结构信息,这个结构信息里面有 expr 表达式,column 当中会有一个表达式作用于每一个数据,“===”是判断相等,“=|是判断不相等(not equal)。然后有很多操作,还有一些逻辑运算等等。打开结构信息就大概知道该怎么用了,并且这个地方也给出示例,大家要善于去看这个注释。通过这个注释,其实能减少大家的辛苦的操作。

运行一下这段代码

结果:

image.png

需求一其实就是增加了一个新的 double 列(doubled),就是把 age 这一列的所有数据乘以二。

image.png

接下来还有一个就是取得 zhangsan,这是第二个需求。

image.png

第三个需求就是一个正反序的排列。现在是正序,通过 dsc 就是反序。

image.png

在接下来续枚举判断,其实只查出了 zhangsan。那我们很多时候,在 Spark 系统当中进行一些运算,一些操作的时候,是通过 column 这个对象来进行的。

所以有一些操作大家不是很清楚的时候。比如说想判断某一列,它是大于某一列,那么就应该从这个 column 上着手。

以上就是 Column 对象_操作_API 的内容。

相关文章
|
API Python 容器
再探泛型 API,感受 Python 对象的设计哲学
再探泛型 API,感受 Python 对象的设计哲学
108 2
|
JavaScript 前端开发 API
什么是ES6的Proxy对象和Reactive API
【9月更文挑战第3天】什么是ES6的Proxy对象和Reactive API
111 9
|
人工智能 监控 安全
F5社区学习笔记:API和AI如何改变应用安全?
F5社区学习笔记:API和AI如何改变应用安全?
129 1
|
存储 程序员 API
八股day05_API、String对象和集合
day05_API、String对象和集合
|
Java API 开发者
|
开发框架 JSON 前端开发
利用查询条件对象,在Asp.net Web API中实现对业务数据的分页查询处理
利用查询条件对象,在Asp.net Web API中实现对业务数据的分页查询处理
|
文字识别 小程序 安全
印刷文字识别操作报错合集之微信小程序调用API时路径总是返回不对,该如何处理
在使用印刷文字识别(OCR)服务时,可能会遇到各种错误。例如:1.Java异常、2.配置文件错误、3.服务未开通、4.HTTP错误码、5.权限问题(403 Forbidden)、6.调用拒绝(Refused)、7.智能纠错问题、8.图片质量或格式问题,以下是一些常见错误及其可能的原因和解决方案的合集。
|
文字识别 前端开发 API
印刷文字识别操作报错合集之通过HTTPS连接到OCR服务的API时报错,该如何处理
在使用印刷文字识别(OCR)服务时,可能会遇到各种错误。例如:1.Java异常、2.配置文件错误、3.服务未开通、4.HTTP错误码、5.权限问题(403 Forbidden)、6.调用拒绝(Refused)、7.智能纠错问题、8.图片质量或格式问题,以下是一些常见错误及其可能的原因和解决方案的合集。
|
jenkins API 持续交付
jenkins学习笔记之十五:SonarSQube API使用
jenkins学习笔记之十五:SonarSQube API使用
|
XML JSON 文字识别
印刷文字识别操作报错合集之API调用过程中报错469,是什么导致的
在使用印刷文字识别(OCR)服务时,可能会遇到各种错误。例如:1.Java异常、2.配置文件错误、3.服务未开通、4.HTTP错误码、5.权限问题(403 Forbidden)、6.调用拒绝(Refused)、7.智能纠错问题、8.图片质量或格式问题,以下是一些常见错误及其可能的原因和解决方案的合集。

热门文章

最新文章