Estoy escribiendo una función de mapa usando mrjob. Mi entrada vendrá de archivos en un directorio en HDFS. Los nombres de los archivos contienen una información pequeña pero crucial que no está presente en los archivos. ¿Hay alguna manera de aprender (dentro de una función de mapa) el nombre del archivo de entrada del cual proviene un par clave-valor?Cómo obtener el nombre del archivo de entrada en MRjob
Estoy buscando un equivalente de este código Java:
FileSplit fileSplit = (FileSplit)reporter.getInputSplit();
String fileName = fileSplit.getPath().getName();
gracias de antemano!
Y más información se pueden encontrar de respuesta anterior de Praveen a una pregunta similar a esto - http://stackoverflow.com/ preguntas/7449756/get-input-file-name-in-streaming-hadoop-program –
Gracias, @PraveenSripati y @ChrisWhite, ¡esto es exactamente lo que necesitaba! Para indicarlo explícitamente para futuros visitantes: 'fileName = os.environ ['map_input_file']' hace el truco. – Bolo