我一直在使用Cloudera的hadoop(0.20.2)。 在這個版本中,如果我把一個文件到文件系統,但該目錄結構不存在,它會自動創建父目錄:如何讓hadoop創建目錄如果它們不存在
因此,舉例來說,如果我有在HDFS中沒有目錄,鍵入:
Hadoop的FS -put myfile.txt的/some/non/existing/path/myfile.txt
這將創建所有的目錄:一些,非,現有和路徑並把文件在那裏。
現在,隨着更新的hadoop(2.2.0)產品,這種自動創建目錄不會發生。 相同的命令以上收益率:
地說:`/一些/不/現有/路徑/「:沒有這樣的文件或目錄
我有一個解決方法,只是做Hadoop的FS -mkdir第一,對於每一個投入,但這不會表現良好。
這是可配置的嗎? 有什麼建議嗎?現在
爲什麼不會它表現良好? – climbage
>>爲什麼它表現不好? 因爲對於每個'放'我做一個mkdir - 大多數時間可能不需要,所以它會影響高吞吐量情況下的性能。 – owly
你有沒有考慮編寫自己的解決方案?我很驚訝'put'表現的很好,考慮到每次通話都必須啓動虛擬機,讀取配置等。 – climbage