hive.skewjoin.mapjoin.map.tasks 和 hive.skewjoin.mapjoin.min.



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最终也定义了地图任务的数量。

你正在阅读

最多使用的任务...通过指定最小拆分大小。

这意味着,它

计算输入拆分的总大小,除以拆分大小属性,然后确定应创建多少映射任务,并由另一个属性定义创建的总任务数限制,这就是为什么它说"细粒度控制"

最新更新