- Stop
PutSQLprocessor og lad flowfilerne stå i kø. - Når de er i kø, højreklik på
successforhold
mellemUpdateAttributeogPutSQLog vælgList Queue. - Vælg en hvilken som helst flowfil, og naviger til
Attributestab og se efter attributterneabsolute.pathogflowfilenameeksisterer, og hvis
de eksisterer, skal du kontrollere, om de har den forventede værdi indstillet. I dit tilfældeabsolute.pathskal have værdien/path/in/nifi/node/to/fileogflowfilenameskal have værdien/data.csv
Spørgsmål til dig:Indstiller du selv disse attributter ved hjælp af UpdateAttribute Årsagen er, at NiFi ikke genererer en attribut ved navn flowfilename , genererer den en med navnet filename .
En ting mere, sørg for enten værdien for absolute.path slutter med en / i slutningen eller værdien af flowfilename begynder med en / . Hvis ikke, vil de blive tilføjet, og resultatet vil være /path/in/nifi/node/to/filedata.csv . Du kan prøve append funktion, som @Mahendra foreslog, ellers kan du blot bruge ${absolute.path}/${flowfilename} .
Opdater
Jeg indså lige, at absolute.path er en kerneattribut som filename , filesize , mime.type , osv. Nogle processorer bruger alle kerneattributterne, mens nogle bruger meget få, som er nødvendige. GenerateTableFetch skriver absolute.path men sætter ikke noget for det. Det er derfor, den har ./ som er standardværdien.
Så mit forslag til din tilgang til arbejdet er, at du manuelt kan indstille/overskrive absolute.path attribut ved hjælp af UpdateAttribute (ligesom du har overskrevet filename ) og indstil den ønskede værdi, som er /path/in/nifi/node/to/file