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的行进行比较,匹配的

Spark SQL的join操作在executor上处理DataFrame分区,性能受join类型和数据集大小影响。涉及shuffle join和broadcast join。当大数据集与小数据集join时,小数据集会被广播。join类型包括:inner(匹配无null)、cross(笛卡尔积)、outer/full/fullouter(全连接)、leftanti(仅左数据)、left/outer(左连接)、leftsemi(仅左公共行)、right/rightouter(右连接)。
最低0.47元/天 解锁文章
956

被折叠的 条评论
为什么被折叠?



