2011-01-04 13 views
8


Ho una situazione in cui sono presenti più file (100+ di 2-3 MB ciascuno) in formato compresso gz presenti in più directory. Per esempio
A1/B1/C1/part-0000.gz
A2/B2/C2/part-0000.gz
A1/B1/C1/part-0001.gzHadoop che accetta i file di input da più directory

devo nutrire tutti questi file in un lavoro di mappa. Da quello che vedo, per l'utilizzo di MultipleFileInputFormat tutti i file di input devono essere nella stessa directory. È possibile passare più directory direttamente nel lavoro?
In caso contrario, è possibile inserire in modo efficiente questi file in una directory senza denominare conflitti o unire questi file in 1 singolo file gz compresso.
Nota: sto usando semplicemente Java per implementare il Mapper e non utilizzare lo streaming Pig o hadoop.

Qualsiasi aiuto per quanto riguarda il problema di cui sopra sarà profondamente apprezzato.
Grazie,
Ankit

risposta

16

FileInputFormat.addInputPaths() può prendere un elenco separato da virgole di file multipli, come

FileInputFormat.addInputPaths("foo/file1.gz,bar/file2.gz") 
+0

Sì, grazie che esattamente quello che volevo. – Ankit

Problemi correlati