¿Cómo leer el archivo Hadoop Sequentil como una entrada para el trabajo de Hadoop?
-
27-10-2019 - |
Pregunta
Tengo un archivo secuencial que tiene el par de tipos de valores clave "org.apache.hadoop.typedbytes.typedbytesswritable" , Tengo que proporcionar este archivo como información al trabajo de Hadoop y tengo que procesarlo solo en el mapa. Quiero decir que no tengo que hacer nada que necesite reducir.
1) ¿Cómo especificaré el FileInputFormat como secuencial?
2) ¿Cuál será la firma de la función del mapa?
3) ¿Cómo obtendré la salida del mapa en lugar de reducir?
Solución
1) ¿Cómo especificaré el FileInputFormat como secuencial?
Selecciona el SecuenceFileaseBinaryInputFormat como el formato de entrada. Aquí está el código para la clase de secuenceFileaseBinaryInputFormat.
Aquí está el código
JobConf conf = new JobConf(getConf(), getClass());
conf.setInputFormat(SequenceFileAsBinaryInputFormat.class);
2) ¿Cuál será la firma de la función del mapa?
El mapa se invocaría con un bytesswritable como tipos de clave y valor.
3) ¿Cómo obtendré la salida del mapa en lugar de reducir?
Selecciona el mapred.reduce.tasks
propiedad a 0. La salida del mapa será la salida final del trabajo.
Además, eche un vistazo al SecuenceFileExteExtInputFormat. El mapa se invocaría con texto como tipos de clave y valor.