- Stoppa
PutSQL
processor och låt flödesfilerna stå i kö. - När de är i kö högerklickar du på
success
förhållande
mellanUpdateAttribute
ochPutSQL
och väljList Queue
. - Välj valfri flödesfil och navigera till
Attributes
tab och se om attributenabsolute.path
ochflowfilename
finns och om
de existerar, kontrollera om de har det förväntade värdet. I ditt fallabsolute.path
bör ha värdet/path/in/nifi/node/to/file
ochflowfilename
bör ha värdet/data.csv
Fråga till dig:Ställer du in dessa attribut själv med UpdateAttribute
, anledningen är att NiFi inte genererar ett attribut som heter flowfilename
, genererar den en med namnet filename
.
En sak till, se till att antingen värdet för absolute.path
slutar med en /
i slutet eller värdet på flowfilename
börjar med en /
. Om inte kommer de att läggas till och resultatet blir /path/in/nifi/node/to/filedata.csv
. Du kan prova append
funktion som @Mahendra föreslog, annars kan du helt enkelt använda ${absolute.path}/${flowfilename}
.
Uppdatera
Jag insåg precis att absolute.path
är ett kärnattribut som filename
, filesize
, mime.type
, etc. Vissa processorer använder alla kärnattribut medan vissa använder väldigt få som behövs. GenerateTableFetch
skriver absolute.path
men sätter inget för det. Det är därför den har ./
vilket är standardvärdet.
Så mitt förslag för din inställning till arbetet är att du manuellt kan ställa in/skriva över absolute.path
attribut med UpdateAttribute
(precis som du har skrivit över filename
) och ställ in önskat värde som är /path/in/nifi/node/to/file