- Zastavte
PutSQLprocesor a nechte soubory toků seřadit do fronty. - Jakmile budou zařazeni do fronty, klikněte pravým tlačítkem na
successvztah
meziUpdateAttributeaPutSQLa vyberteList Queue. - Vyberte libovolný soubor toku a přejděte na
Attributestab a podívejte se na atributyabsolute.pathaflowfilenameexistuje a pokud
existují, ověřte, zda mají nastavenou očekávanou hodnotu. Ve vašem případěabsolute.pathby měl mít hodnotu/path/in/nifi/node/to/fileaflowfilenameby 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