Używam hadoop Cloudera (0.20.2). W tej wersji, jeśli mogę umieścić plik w systemie plików, ale struktura katalogów nie istnieje, to automatycznie tworzone katalogi nadrzędny:Jak uzyskać hadoop umieścić do tworzenia katalogów, jeśli nie istnieją
Tak na przykład, jeśli nie miałem katalogi w HDFS i wpisane:
Hadoop fs -put myfile.txt /some/non/existing/path/myfile.txt
byłoby utworzyć wszystkie katalogi: niektórych, innych niż istniejące i ścieżka i umieścić plik tam.
Teraz z nowszą ofertą hadoop (2.2.0) to automatyczne tworzenie katalogów nie dzieje się. To samo polecenie powyżej rentowności:
put: `/ some/nie/istniejące/ścieżka/': Nie ma takiego pliku lub katalogu
mam obejście po prostu zrobić Hadoop fs -mkdir pierwszy , na każde ułożenie, ale to nie będzie dobrze działać.
Czy można konfigurować? Jakaś rada?
Dlaczego nie będzie to dobrze wykonać? – climbage
>> Dlaczego nie działa dobrze? Ponieważ dla każdego "put" robię mkdir - który przez większość czasu może nie być potrzebny, więc będzie miał wpływ na wydajność w sytuacjach wysokiej przepustowości. – owly
Czy rozważałeś napisanie własnego rozwiązania? Jestem zaskoczony, że 'put' działa dobrze, biorąc pod uwagę, że każde połączenie musi uruchomić VM, odczytać konfigurację, itd ... – climbage