- Stop
PutSQL
processor og lad flowfilerne stå i kø. - Når de er i kø, højreklik på
success
forhold
mellemUpdateAttribute
ogPutSQL
og vælgList Queue
. - Vælg en hvilken som helst flowfil, og naviger til
Attributes
tab og se efter attributterneabsolute.path
ogflowfilename
eksisterer, og hvis
de eksisterer, skal du kontrollere, om de har den forventede værdi indstillet. I dit tilfældeabsolute.path
skal have værdien/path/in/nifi/node/to/file
ogflowfilename
skal 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