我想要jun一個定製的jar,其主要類是一系列map減少作業,第一個作業的輸出作爲第二個jar的輸入,依此類推。亞馬遜EMR的輸出文件夾
我在FileOutputFormat.setOutputPath(「什麼路徑應該在這裏?」)中設置什麼?
如果我在參數中指定-outputdir,則會出現FileAlraedy存在的錯誤。如果我沒有說明,那麼我不知道輸出的地方在哪裏。我希望能夠看到鏈式映射減少作業的每個作業的輸出。
謝謝你。請幫忙!
我想要jun一個定製的jar,其主要類是一系列map減少作業,第一個作業的輸出作爲第二個jar的輸入,依此類推。亞馬遜EMR的輸出文件夾
我在FileOutputFormat.setOutputPath(「什麼路徑應該在這裏?」)中設置什麼?
如果我在參數中指定-outputdir,則會出現FileAlraedy存在的錯誤。如果我沒有說明,那麼我不知道輸出的地方在哪裏。我希望能夠看到鏈式映射減少作業的每個作業的輸出。
謝謝你。請幫忙!
您可能會收到「FileAlraedy exists」錯誤,因爲該輸出目錄存在於您正在運行的作業之前。確保刪除您爲Hadoop作業指定的輸出目錄;否則你將無法運行這些工作。
好的做法是從命令行取得輸出,因爲它會增加代碼的靈活性如果更改與路徑相關,您將只編譯一次jar。 EMR如果您啓動您的羣集並編譯您的罐子
例如,
dfs_ip_folder=HDFS_IP_DIR
dfs_op_folder=HDFS_OP_DIR
hadoop jar hadoop-examples-*.jar wordcount ${dfs_ip_folder} ${dfs_op_folder}
注意:您必須創建dfs_ip_folder並將輸入數據存儲在其中。 將在HDFS上自動創建dfs_op_folder而不是在本地文件系統上 要訪問HDFS操作系統文件夾,您可以將其複製到本地文件系統,也可以做貓。 例如。
hadoop fs -cat ${dfs_op_folder}/<file_name>
hadoop fs -copyToLocal ${dfs_op_folder} ${your_local_input_dir_path}