2017-09-21 70 views
0

我必須在一個目錄中寫入我的響應流文件,而不是從中獲取數據,然後將其更改並放入其他目錄中我希望使這兩個目錄同步(我的意思是每當我刪除或更改一個目錄中的flowfile,它應該在其他目錄中更改)我擁有超過10000個流文件,因此chechlist將不是很好的解決方案。你可以推薦我:Nifi:如何在nifi中同步兩個目錄

  1. 任何contreoller服務,可以幫助我做到這一點?
  2. 沒有更好的辦法可以讓無控制器服務這一任務
+0

[rsync工具](https://en.wikipedia.org/wiki/Rsync) – daggett

+0

我可以在nifi中使用rsync我的意思是我可以讓工作流程,使rsync捕捉hdfs目錄內的變化? –

+0

或者我可以實現它在自定義處理器我的意思是如果我寫定製proceeosor我可以爲本地目錄實現rsync? –

回答

0

您可以使用ListFileFetchFile,並PutFile處理器的組合來檢測文件系統目錄中的單個文件寫入變化及其內容複製到另一個目錄。這將不是檢測文件刪除但是,我相信一個更好的解決方案是在ExecuteProcess處理器內使用rsync

據我所知,rsync不會對HDFS文件系統的工作,所以在這種情況下,我會建議使用一個工具,如HelixDistCp(我沒有特別評估這些工具)。您可以通過ExecuteProcess從「命令行」調用它們,也可以將客戶端庫包裝在ExecuteScript或自定義處理器中。