hive.skewjoin.mapjoin.map.tasks与hive.skewjoin.mapjoin.min.split之间的关系

时间:2018-02-02 05:30:52

标签: hadoop hive

hive中有两个与倾斜连接相关的属性。

    <property>
    <name>hive.skewjoin.mapjoin.map.tasks</name>
    <value>10000</value>
    <description>
        Determine the number of map task used in the follow up map join job for a skew join.
        It should be used together with hive.skewjoin.mapjoin.min.split to perform a fine grained control.
    </description>
</property>
<property>
    <name>hive.skewjoin.mapjoin.min.split</name>
    <value>33554432</value>
    <description>
        Determine the number of map task at most used in the follow up map join job for a skew join by specifying
        the minimum split size. It should be used together with hive.skewjoin.mapjoin.map.tasks to perform a fine grained control.
    </description>
</property>

但我仍然不明白这两者之间的关系是什么,因为hive.skewjoin.mapjoin.map.tasks定义了地图任务的数量,而hive.skewjoin.mapjoin.min.split最终也定义了地图任务的数量。

1 个答案:

答案 0 :(得分:0)

你正在阅读

  

最常用的任务......通过指定最小分割大小。

这意味着,它计算inputsplits的总大小,除以split split属性,然后确定应创建多少个map任务,并创建由另一个属性定义的总任务限制,这就是为什么它说&#34;细粒度控制&#34;