Piszę funkcję mapy przy użyciu mrjob. Moje dane wejściowe będą pochodzić z plików w katalogu na HDFS. Nazwy plików zawierają małą, ale istotną informację o kawałku, której nie ma w plikach. Czy istnieje sposób na nauczenie się (w funkcji mapy) nazwy pliku wejściowego, z którego pochodzi dana para klucz-wartość?Jak uzyskać nazwę pliku wejściowego w MRjob
szukam odpowiednika tego kodu Java:
FileSplit fileSplit = (FileSplit)reporter.getInputSplit();
String fileName = fileSplit.getPath().getName();
Z góry dzięki!
i więcej informacji można znaleźć od poprzedniej odpowiedzi praveen do pytania podobnego do tego - http://stackoverflow.com/ pytania/7449756/get-input-file-name-in-streaming-hadoop-program –
Dzięki, @PraveenSripati i @ChrisWhite, to jest dokładnie to, czego potrzebowałem! Aby podać go jawnie dla przyszłych odwiedzających: 'fileName = os.environ ['map_input_file']' robi lewę. – Bolo