- Stoppen Sie
PutSQLProzessor und lassen Sie die Flowfiles anstehen. - Sobald sie in die Warteschlange gestellt wurden, klicken Sie mit der rechten Maustaste auf
successBeziehung
zwischenUpdateAttributeundPutSQLund wählen SieList Queue. - Wählen Sie eine Flowfile aus und navigieren Sie zu den
AttributesTab und sehen Sie sich die Attributeabsolute.pathan undflowfilenamevorhanden sind, und falls
sie vorhanden sind, überprüfen Sie, ob sie den erwarteten Wert haben. In Ihrem Fallabsolute.pathsollte den Wert/path/in/nifi/node/to/filehaben undflowfilenamesollte den Wert/data.csvhaben
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