您现在的位置是:首页 >其他 >spark 读取hive分桶表 无shuffle join网站首页其他

spark 读取hive分桶表 无shuffle join

健忘主义 2023-05-31 20:00:02
简介spark 读取hive分桶表 无shuffle join

-- 分桶join bucketjoin hive分桶 spark分桶 分桶优化 分桶join优化

https://towardsdatascience.com/best-practices-for-bucketing-in-spark-sql-ea9f23f7dd53

要点:

  • spark2开始支持分桶
  • spark3.1.1增强了分桶
  • 分桶设计合理,可以避免join产生shuffle
  • 分桶设计合理,可以避免 rdd.groupby df.groupby 产生shuffle
  • 分桶开关 默认开启 spark.sql.sources.bucketing.enabled

分桶表tb1 join 普通表tb2

tb1分桶个数为x spark.sql.shuffle.partitions = y

if x < y:

tb1 tb2都会shuffle

elif tb2.repartition(y,join_key):

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。