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

nmpmafwu  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(371)

配置单元中有两个属性与skew join相关。

<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 定义Map任务数和 hive.skewjoin.mapjoin.min.split 最后还定义了map任务的数量。

q1qsirdb

q1qsirdb1#

你在看书
最多使用的任务。。。通过指定最小拆分大小。
也就是说,它计算inputsplits的总大小,除以split size属性,然后确定应该创建多少Map任务,另一个属性定义了创建的总任务的限制,这就是为什么它说“细粒度控制”

相关问题