Pregunta

Puede que me equivoque, pero todos (?) Ejemplos que he visto con Apache Hadoop toma como entrada un archivo almacenado en el sistema de archivos local (por ejemplo org.apache.hadoop.examples.Grep)

¿Hay una manera de cargar y guardar los datos en el sistema de archivos de Hadoop (HDFS)? Por ejemplo pongo un archivo delimitado por tabuladores llamado 'stored.xls' en HDFS utilizando hadoop-0.19.1/bin/hadoop dfs -put ~/local.xls stored.xls. ¿Cómo debo configurar el JobConf leerlo?

Gracias.

¿Fue útil?

Solución

JobConf conf = new JobConf(getConf(), ...);
...
FileInputFormat.setInputPaths(conf, new Path("stored.xls"))
...
JobClient.runJob(conf);
...

setInputPaths lo harán.

Otros consejos

Pierre, la configuración por defecto para Hadoop es ejecutar en modo local, en lugar de en el modo distribuido. Es probable que necesite simplemente modificar alguna configuración en su hadoop-site.xml. Parece que tu sistema de archivos por defecto es localhost aún, cuando debería ser hdfs: // youraddress: suPuerto. Mira el ajuste para la fs.default.name, y también ver la ayuda de configuración de la dirección el blog de Michael Noll para más detalles.

FileInputFormat.setInputPaths (conf, nuevo camino ( "HDFS: // host: puerto / usuario / Me / stored.xls"));

Esto hará

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top