2016-11-14 75 views
2

我使用Apache NiFi將一些本地文件複製到HDFS。 我創建了一個GetFile處理器綁定到PutHDFS處理器。 GetFile處理器遞歸查詢只讀目錄。我遇到的問題是文件不斷被複制,例如,如果我刪除HDFS上覆制的文件,那麼它們很快就會重新出現。GetFile處理器在Apache NiFi中持續運行

GetFile處理器配置,我設置Keep Source File真正,因爲該目錄是隻讀的,它是在documentation指定只讀的目錄,如果這個參數設置爲然後文件被忽略:

如果爲true,則該文件在複製到內容存儲庫後不會被刪除;這會導致文件不斷被拾取 並且對於測試目的很有用。如果不保留原始的NiFi將 需要對其正在從其他地方提取的目錄寫入權限 它將忽略該文件。

是否可以簡單地複製每個文件一次?

回答

4

您可以使用ListFileFetchFile處理器來執行此操作。 ListFile將跟蹤到目前爲止所看到的文件,並且不會繼續列出它們,除非它們已被修改。確保您將FetchFile中的完成策略設置爲「無」,以確保不會嘗試移動/刪除文件。

+0

謝謝,它工作。有沒有辦法重置處理器,以便忘記已經導入的文件? – cheseaux

+1

是的,停止ListFile處理器,然後右鍵單擊並選擇View State。在狀態對話框中有一個鏈接到清除狀態。 – mattyb

+0

謝謝你的幫助 – cheseaux

相關問題