Zapisywanie wyników do różnych folderów hadoop
Jestem w stanie użyć funkcji wielokrotnego wyjścia w hadoop do zapisu do różnych plików, ale oba trafiają do tego samego folderu wyjściowego.
Chcę zapisać każdy plik z tego samego skrótu do innego folderu.
Czy istnieje sposób, aby to zrobić?
Jeśli spróbuję umieścić na przykład „hello / testfile”, jako drugi argument, wyświetli argument invaid. Nie mogę więc pisać do różnych folderów.
Jeśli powyższy przypadek nie jest możliwy, czy program odwzorowujący może odczytywać tylko określone pliki z folderu wejściowego?Proszę pomóż mi.
Z góry dziękuję!
Dziękuję za odpowiedź. Mogę z powodzeniem odczytać plik przy użyciu powyższej metody. Ale w trybie rozproszonym nie jestem w stanie tego zrobić. W reduktorze ustawiłem:
mos.getCollector("data", reporter).collect(new Text(str_key), new Text(str_val));
(Korzystanie z wielu wyjść oraz w Job Conf: próbowałem użyć
FileInputFormat.setInputPaths(conf2, "/home/users/mlakshm/opchk285/data-r-00000*");
jak również
FileInputFormat.setInputPaths(conf2, "/home/users/mlakshm/opchk285/data*");
Ale daje następujący błąd:
cause:org.apache.hadoop.mapred.InvalidInputException: Input Pattern hdfs://mentat.cluster:54310/home/users/mlakshm/opchk295/data-r-00000* matches 0 files