在Hive中,为什么桶的数量应该等于减速器的数量?
pgky5nke1#
因为这是使用mapreduce的最佳方式(其他条件都相同)。任务将在减速器之间分配。在配置单元0.x和1.x中,必须指定以下内容:hive.enforce.bucketing=true。这意味着减速器的数量将根据表中铲斗的数量自动确定。在更高版本的hive(2.x)中,这是默认设置的。资料来源:https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl+bucketedtables
xxe27gdn2#
插入带扣工作台时推出的减速器数量是该工作台中铲斗数量的除数。选择最接近最大减数集的除数,并启动多个减数。例子:
Num of buckets in a table 5956. hive.exec.reducers.max=1009 divisors of 5956=1489*4 number of launched reducers: 4
因此,1489或4减速机可以推出,但由于最大减速机,可推出1009,只有4减速机将运行,这可能需要10年才能运行的大表。设置hive.exec.reducers.max=2000将启动1489个reducer。
2条答案
按热度按时间pgky5nke1#
因为这是使用mapreduce的最佳方式(其他条件都相同)。任务将在减速器之间分配。
在配置单元0.x和1.x中,必须指定以下内容:hive.enforce.bucketing=true。这意味着减速器的数量将根据表中铲斗的数量自动确定。在更高版本的hive(2.x)中,这是默认设置的。
资料来源:https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl+bucketedtables
xxe27gdn2#
插入带扣工作台时推出的减速器数量是该工作台中铲斗数量的除数。选择最接近最大减数集的除数,并启动多个减数。
例子:
因此,1489或4减速机可以推出,但由于最大减速机,可推出1009,只有4减速机将运行,这可能需要10年才能运行的大表。
设置hive.exec.reducers.max=2000将启动1489个reducer。