Spark SQL Join类型

Spark SQL的join操作在executor上处理DataFrame分区,性能受join类型和数据集大小影响。涉及shuffle join和broadcast join。当大数据集与小数据集join时,小数据集会被广播。join类型包括:inner(匹配无null)、cross(笛卡尔积)、outer/full/fullouter(全连接)、leftanti(仅左数据)、left/outer(左连接)、leftsemi(仅左公共行)、right/rightouter(右连接)。
摘要由CSDN通过智能技术生成

Spark SQL join工作是通过使用executors 操作DataFrame的多个分区,具体的过程和性能依赖join type和datasets的特征。join的过程中,包含了shuffle join 和broadcast join;

在两个大的datasets join的过程中,进行了 shuffle join,使左右的dataset的分区数据到达executors。如:

                                      

 当一个大的dataset和一个小的dataset进行join操作时,小的数据集通过广播的方式,广播到executors,过程如:

                                       

join  的类型分为:

 1.inner   通过左dataset的每一行和右dataset的行进行比较,匹配的行 并且都没有null值, 结合在一起。

                                       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值