2017-09-21 2 views
0

Ich muss meine Antwort Flowfiles in einem Verzeichnis schreiben, als Daten von ihm zu erhalten, ändern Sie es und dann in andere Dierctory Ich möchte diese zwei direcotry Sync machen (ich meine, wenn ich Delet, oder ändere Flowfile in einem Verzeichnis sollte es auch in anderen Verzeichnissen ändern) Ich habe mehr als 10000 Flowfiles, also wäre die Chechlist keine gute Lösung. Können Sie mir empfehlen:Nifi: Wie man zwei Verzeichnisse in NIFI synchronisiert

  1. ein Contreoller-Service, der mir dabei helfen kann?
  2. einen besseren Weg, kann ich diese Aufgabe Service ohne Controller machen
+0

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

+0

kann ich rsync in nifi verwenden ich meine kann ich Workflow machen, so dass rsync catch Änderungen innerhalb hdfs Verzeichnisse? –

+0

oder kann ich es in benutzerdefinierten Prozessor implementieren ich meine, wenn ich benutzerdefinierte Proceeosor schreiben kann ich rsync für lokale Verzeichnisse implementieren? –

Antwort

0

Sie eine Kombination aus ListFileFetchFile und PutFile Prozessoren einzelne Datei Schreib Änderungen innerhalb eines Dateisystemverzeichnis zu erfassen und zu kopieren, um eine andere deren Inhalte verwenden können, Verzeichnis. Dies wird nicht erkennen Datei löscht jedoch, so glaube ich, eine bessere Lösung ist rsync in einem ExecuteProcess Prozessor zu verwenden.

Nach bestem Wissen und Gewissen, rsync funktioniert nicht auf HDFS-Dateisystemen, so dass in diesem Fall würde ich mit einem Werkzeug wie Helix oder DistCp (I diese Werkzeuge insbesondere bewertet nicht) empfehlen. Sie können sie entweder von der "Befehlszeile" aus über ExecuteProcess aufrufen oder eine Client-Bibliothek in einen ExecuteScript oder einen benutzerdefinierten Prozessor einbinden.