- Zastavte
PutSQL
procesor a nechte soubory toků seřadit do fronty. - Jakmile budou zařazeni do fronty, klikněte pravým tlačítkem na
success
vztah
meziUpdateAttribute
aPutSQL
a vyberteList Queue
. - Vyberte libovolný soubor toku a přejděte na
Attributes
tab a podívejte se na atributyabsolute.path
aflowfilename
existuje a pokud
existují, ověřte, zda mají nastavenou očekávanou hodnotu. Ve vašem případěabsolute.path
by měl mít hodnotu/path/in/nifi/node/to/file
aflowfilename
by měl mít hodnotu/data.csv
Otázka pro vás:Nastavujete tyto atributy sami pomocí UpdateAttribute
, důvodem je, že NiFi negeneruje atribut s názvem flowfilename
, vygeneruje soubor s názvem filename
.
Ještě jedna věc, zkontrolujte buď hodnotu pro absolute.path
končí znakem /
na konci nebo hodnotu flowfilename
začíná znakem /
. Pokud ne, budou připojeny a výsledek bude /path/in/nifi/node/to/filedata.csv
. Můžete zkusit append
funkci, kterou navrhl @Mahendra, jinak můžete jednoduše použít ${absolute.path}/${flowfilename}
.
Aktualizovat
Právě jsem si uvědomil, že absolute.path
je základní atribut jako filename
, filesize
, mime.type
, atd. Některé procesory používají všechny základní atributy, zatímco některé jich využívají jen velmi málo. GenerateTableFetch
zapíše absolute.path
ale nic pro to nenastavuje. Proto má ./
což je výchozí hodnota.
Takže můj návrh pro váš přístup k práci je, že můžete ručně nastavit/přepsat absolute.path
atribut pomocí UpdateAttribute
(stejně jako jste přepsali filename
) a nastavte požadovanou hodnotu, která je /path/in/nifi/node/to/file