2017-02-24 39 views
1

我在hdfs中有一個目錄,每兩天獲取一次文件。我想將這個目錄中的所有文件複製到另一個文件中,這樣如果今天有新文件出現,我希望將文件複製到重複目錄中。將數據從一個HDFS目錄複製到另一個連續

我們如何在Hdfs中做到這一點。

我知道我們可以在linux中使用rsync來做到這一點。在Hdfs中也有類似的方法嗎?

回答

2

不,HDFS沒有可用的文件同步方法。您必須手動或通過任何調度程序(cron)執行hdfs dfs -cphadoop distcp

如果文件數量多,distcp是首選。如果源和目標的大小,塊大小,或校驗和不同

hadoop distcp -update <src_dir> <dest_dir> 

-update標誌將覆蓋。

+0

'distcp''-update'就像你說的覆蓋整個目錄。有沒有辦法只檢查是否只有變化,如果有變化,然後只更新那些變化 – User12345

+1

不,它只覆蓋更改。如果源有10個文件,並且目標已經有5個文件,distcp將只寫剩餘的5個文件到目的地。這個更新標誌將檢查那些已經存在的5個文件中是否有更新,如果有更新會被覆蓋或者被跳過。 – franklinsijo

相關問題