我有一个2.6 MB大小的CSV文件。我创建了一个hive表并在其中加载了csv文件。
现在,如果我将查询写为“select * from abc order by a;” ,mapreduce使用1减速机。它是如何将减速器的数量确定为1的?它是否使用默认值“1”或其他?
一般来说,hive如何决定在“order by”,“sort by”或“group by”子句中使用多少Reducer?
答案 0 :(得分:0)
它与数据大小相关,默认值为1 / 1GB,由此属性控制:
hive.exec.reducers.bytes.per.reducer
如果你想让更多的减速器设置它:
mapred.reduce.tasks
可以找到包含说明的完整设置列表here。
答案 1 :(得分:0)
Hive中的Reducer数量是使用hive.exec.reducers.bytes.per.reducer
属性计算的,其中1GB(1000000000字节)是默认值。
您可以通过更改上述属性来配置减速器的数量。您还需要通过属性mapred.reduce.tasks
// hive-site.xml
<property>
<name>hive.exec.reducers.bytes.per.reducer</name>
<value>xxxxxxx</value>
</property>
// console
$ hive -e "set hive.exec.reducers.bytes.per.reducer=xxxxxxx"