配置单元中有两个属性与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任务的数量。
1条答案
按热度按时间q1qsirdb1#
你在看书
最多使用的任务。。。通过指定最小拆分大小。
也就是说,它计算inputsplits的总大小,除以split size属性,然后确定应该创建多少Map任务,另一个属性定义了创建的总任务的限制,这就是为什么它说“细粒度控制”