我有一个2.6MB大小的csv文件。我创建了一个配置单元表并在其中加载了csv文件。现在,如果我写一个查询“select*from order by a;”,mapreduce使用1个reducer。它是如何确定减速机的数量为1的?它使用了默认值“1”还是其他什么?一般来说,hive如何决定在“order by”、“sort by”或“group by”子句中使用多少个reducer?
jmo0nnb31#
它与数据大小一起使用,默认值为1/1gb,其大小由以下属性调节:
hive.exec.reducers.bytes.per.reducer
如果您想有更多的减速器,请使用以下设置:
mapred.reduce.tasks
完整的设置列表和解释可以在这里找到。
50few1ms2#
Hive中的减速器数量是使用 hive.exec.reducers.bytes.per.reducer 属性,其中1gb(1000000000字节)是它的默认值。您可以通过更改上述属性来配置减速器的数量。还需要通过属性设置作业的常量减速器数 mapred.reduce.tasks //配置单元站点.xml
<property> <name>hive.exec.reducers.bytes.per.reducer</name> <value>xxxxxxx</value> </property>
//控制台
$ hive -e "set hive.exec.reducers.bytes.per.reducer=xxxxxxx"
2条答案
按热度按时间jmo0nnb31#
它与数据大小一起使用,默认值为1/1gb,其大小由以下属性调节:
如果您想有更多的减速器,请使用以下设置:
完整的设置列表和解释可以在这里找到。
50few1ms2#
Hive中的减速器数量是使用
hive.exec.reducers.bytes.per.reducer
属性,其中1gb(1000000000字节)是它的默认值。您可以通过更改上述属性来配置减速器的数量。还需要通过属性设置作业的常量减速器数mapred.reduce.tasks
//配置单元站点.xml//控制台