Domanda

I può essere sbagliato, ma tutti (?) Esempi che ho visto con Apache Hadoop prende come input un file memorizzato sul file system locale (ad esempio org.apache.hadoop.examples.Grep)

C'è un modo per caricare e salvare i dati sul file system Hadoop (HDFS)? Per esempio ho messo un file delimitato da tabulazioni chiamato 'stored.xls' su HDFS utilizzando hadoop-0.19.1/bin/hadoop dfs -put ~/local.xls stored.xls. Come devo configurare il JobConf di leggerlo?

Grazie.

È stato utile?

Soluzione

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

setInputPaths lo faranno.

Altri suggerimenti

Pierre, la configurazione predefinita per Hadoop è per l'esecuzione in modalità locale, piuttosto che in modalità distribuita. È probabile che sia necessario modificare solo alcuni configurazione nel proprio Hadoop-site.xml. Sembra che la tua predefinito filesystem è ancora localhost, quando dovrebbe essere HDFS: // youraddress: yourport. Guardate il vostro impostazione per fs.default.name, e anche vedere l'aiuto di impostazione all'indirizzo di Michael Noll blog per ulteriori dettagli.

FileInputFormat.setInputPaths (conf, nuovo percorso ( "HDFS: // hostname: port / user / me / stored.xls"));

Questo farà

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top