【问题标题】:details in hive skew join optimize when there are multi skew keys当有多个倾斜键时,hive 倾斜连接中的细节优化
【发布时间】:2014-09-09 06:24:13
【问题描述】:

针对Hive skew join优化的一些细节问题提出三个问题:

问题 1

https://cwiki.apache.org/confluence/display/Hive/Skewed+Join+Optimization 中,我们知道了hive skew join优化的基本思想......但是有一些细节让我很困扰:

例如:

从 A 中选择 A.id 在 A.id = B.id 上加入 B

tableA中有3个skew key:id=1, id=2, id=3,其他key平均分配,会启动4个MR作业吗?

工作 1 处理均匀分布的密钥;

作业 2 处理 skew key id=1 ;

作业 3 处理 skew key id=2 ;

作业 4 处理 skew key id=3 ;

对吗?非常感谢。

问题 2

众所周知,skew join优化的关键在于我们可以使用ma​​p join处理skew join key,比如1 ,2 ,3 .那么如果这不符合 map join 的条件,会退回到普通的 join 吗?

问题 3

默认设置为:hive.skewjoin.key= 100000 ,对于实际查询来说通常太小了。是否可以动态决定倾斜连接的触发条件,例如根据JVM堆大小和倾斜表的总行数?

【问题讨论】:

  • 为什么问题用 SQL 标记?

标签: join hive skew


【解决方案1】:

问题 1: 不是 4 个作业,而是 4 个 reducer,每个都处理一个唯一的键

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-16
    • 2019-12-15
    • 2017-11-30
    • 2023-03-23
    • 1970-01-01
    • 2021-11-09
    • 2016-12-25
    • 2016-12-23
    相关资源
    最近更新 更多