[Hadoop] Hive no puede establecer manualmente el número de reductores


Answers

El número de reductores depende también del tamaño del archivo de entrada

Por defecto es 1GB (1000000000 bytes). Puede cambiar eso estableciendo la propiedad hive.exec.reducers.bytes.per.reducer:

  1. ya sea cambiando hive-site.xml

    <property>
       <name>hive.exec.reducers.bytes.per.reducer</name>
       <value>1000000</value>
    </property>
    
  2. o usando el conjunto

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

Question

Tengo la siguiente consulta de colmena:

select count(distinct id) as total from mytable;

que genera automáticamente:
1408 Mapeadores
1 Reductor

Necesito configurar manualmente el número de reductores y he intentado lo siguiente:

set mapred.reduce.tasks=50 
set hive.exec.reducers.max=50

pero ninguno de estos ajustes parece ser respetado. La consulta tarda una eternidad en ejecutarse. ¿Hay alguna manera de configurar manualmente los reductores o quizás reescribir la consulta para que pueda generar más reductores? ¡Gracias!