Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Flowfile absoluter Pfad Nifi

  • Stoppen Sie PutSQL Prozessor und lassen Sie die Flowfiles anstehen.
  • Sobald sie in die Warteschlange gestellt wurden, klicken Sie mit der rechten Maustaste auf success Beziehung
    zwischen UpdateAttribute und PutSQL und wählen Sie List Queue .
  • Wählen Sie eine Flowfile aus und navigieren Sie zu den Attributes Tab und sehen Sie sich die Attribute absolute.path an und flowfilename vorhanden sind, und falls
    sie vorhanden sind, überprüfen Sie, ob sie den erwarteten Wert haben. In Ihrem Fall absolute.path sollte den Wert /path/in/nifi/node/to/file haben und flowfilename sollte den Wert /data.csv haben

Frage an Sie:Setzen Sie diese Attribute selbst mit UpdateAttribute , der Grund dafür ist, dass NiFi kein Attribut mit dem Namen flowfilename generiert , generiert es eine mit dem Namen filename .

Stellen Sie außerdem sicher, dass entweder der Wert für absolute.path endet mit einem / am Ende oder der Wert von flowfilename beginnt mit einem / . Wenn nicht, werden sie angehängt und das Ergebnis ist /path/in/nifi/node/to/filedata.csv . Sie können das append versuchen Funktion, die @Mahendra vorgeschlagen hat, ansonsten können Sie einfach ${absolute.path}/${flowfilename} verwenden .

Aktualisieren

Ich habe gerade festgestellt, dass absolute.path ist ein Kernattribut wie filename , filesize , mime.type usw. Einige Prozessoren verwenden alle Kernattribute, während andere nur sehr wenige verwenden, die benötigt werden. GenerateTableFetch schreibt absolute.path setzt aber nichts dafür. Deshalb hat es ./ Dies ist der Standardwert.

Mein Vorschlag für Ihre Arbeitsweise ist also, dass Sie absolute.path manuell setzen/überschreiben können Attribut mit UpdateAttribute (so wie Sie filename überschrieben haben ) und setzen Sie den gewünschten Wert, der /path/in/nifi/node/to/file ist