Sono in grado di trovare il nome se il file di input in una classe mapper utilizza FileSplit quando si scrive il programma in Java.Ottieni il nome del file di input nello streaming del programma hadoop
c'è un modo corrispondente per fare questo quando scrivo un programma in Python (usando streaming?)
ho trovato la seguente nel documento di streaming Hadoop su Apache:
Vedi configurati parametri. Durante l'esecuzione di un lavoro di streaming, i nomi dei parametri "mappati" vengono trasformati. I punti (.) diventano caratteri di sottolineatura (_). Ad esempio, mapred.job.id diventa mapred_job_id e mapred.jar diventa mapred_jar. Nel codice, utilizzare i nomi dei parametri con i caratteri di sottolineatura.
Ma non riesco ancora a capire come utilizzarlo all'interno del mio mapper.
Qualsiasi aiuto è molto apprezzato.
Grazie
Sembra che la proprietà richiesta da Krishnamutry sia denominata "map.input.file", che probabilmente verrà visualizzata come variabile di ambiente "map_input_file" sul lavoro di streaming. –
Nota: i periodi devono essere sostituiti con caratteri di sottolineatura –
Grazie - aggiornato. –