2016-04-27 33 views
1

我有一個2.6 MB大小的CSV文件。我創建了一個配置單元表,並在其中加載了csv文件。要確定Hive中的reducer數「order by」clause

現在,如果我將查詢寫爲「select * from abc order by a」 ,mapreduce使用了1個縮減器。它如何識別減速器的數量爲1?它是否使用默認值「1」或其他?

一般來說,hive如何決定在「排序方式」,「排序方式」或「分組依據」子句中使用多少個縮減器?

回答

0

它跟數據的大小,默認爲1元1GB,其通過此屬性規定:

hive.exec.reducers.bytes.per.reducer 

如果你想有更多的減速設置與此:

mapred.reduce.tasks 

全部列表的解釋設置可以找到here

0

Hive中的還原器數量使用屬性計算,其中1GB(1000000000字節)是默認值。 您可以通過更改上述屬性來配置減速器的數量。你也需要通過屬性來設置減速的常數一份工作mapred.reduce.tasks

//蜂房的site.xml

<property> 
    <name>hive.exec.reducers.bytes.per.reducer</name> 
    <value>xxxxxxx</value> 
</property> 

//控制檯

$ hive -e "set hive.exec.reducers.bytes.per.reducer=xxxxxxx"