我有一個2.6 MB大小的CSV文件。我創建了一個配置單元表,並在其中加載了csv文件。要確定Hive中的reducer數「order by」clause
現在,如果我將查詢寫爲「select * from abc order by a」 ,mapreduce使用了1個縮減器。它如何識別減速器的數量爲1?它是否使用默認值「1」或其他?
一般來說,hive如何決定在「排序方式」,「排序方式」或「分組依據」子句中使用多少個縮減器?
我有一個2.6 MB大小的CSV文件。我創建了一個配置單元表,並在其中加載了csv文件。要確定Hive中的reducer數「order by」clause
現在,如果我將查詢寫爲「select * from abc order by a」 ,mapreduce使用了1個縮減器。它如何識別減速器的數量爲1?它是否使用默認值「1」或其他?
一般來說,hive如何決定在「排序方式」,「排序方式」或「分組依據」子句中使用多少個縮減器?
它跟數據的大小,默認爲1元1GB,其通過此屬性規定:
hive.exec.reducers.bytes.per.reducer
如果你想有更多的減速設置與此:
mapred.reduce.tasks
全部列表的解釋設置可以找到here。
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"