首页  

SparkSQL join的三种实现方式     所属分类 spark 浏览量 833
Broadcast Hash Join  大表和小表
Shuffle Hash Join    大表和小表(比上一个大一点) 
Sort Merge Join      两张大表 

前两者都基于Hash Join
brocadcast vs shuffle 


小表 作为Build Table 
大表 作为Probe Table

broadcast hash join
较小的表通过广播的方式,由driver发送到各个executor,大表正常被分成多个区,每个分区的数据和本地的广播变量进行join

shuffle hash join
小表比较大,不适合broadcast 
对两张表分别进行shuffle,将相同key的数据分到一个分区中,然后分区和分区之间进行join

星型模型或者雪花模型 事实表和维度表
维度表一般指固定的、变动较少的表,例如联系人、物品种类,一般数据量有限
事实表 记录流水,比如销售清单等,随着时间的增长不断增长

小表大小小于   spark.sql.autoBroadcastJoinThreshold 默认10M

小表分区平均大小不超过 spark.sql.autoBroadcastJoinThreshold 默认10M

上一篇     下一篇
主数据简介

数据仓库名词解释

sparkSQL和presto比较

Spark知识点小结

Flink核心技术要点

spark map和mapPartitions