spark sql 算子

left semi join

左表为准,在右表中查找匹配的数据,如果查找成功则仅返回左边的记录,否则返回null
在这里插入图片描述

left anti join

left anti join与left semi join相反,是以左表为准,在右表中查找匹配的记录,如果查找成功,则返回null,否则仅返回左边的记录,其基本实现流程如下图所示。
在这里插入图片描述
pivot
列转行
userid subject score
1 a 3
2 b 4
3 c 5
1 a 6

dataSet.groupBy(‘userid’)
.pivot(‘subject’)
.sum(‘score’)
.na.fill(0): //可以在最后对空值进行处理,空值默认填充0.
也可以在pivot第二个参数传一个seq 用于指定透视哪些值
输出结果:
userid a b c
1 9 0 0
2 0 4 0
3 0 0 6

stack 列转行
用于以上输出结果例子的话
select
userid ,
stack(3,‘a’,a,‘b’,b,‘c’,c)
from table

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值