sql >> Database >  >> RDS >> Mysql

Stroombestand absoluut pad Nifi

  • Stop de PutSQL processor en laat de stroombestanden in de wachtrij staan.
  • Zodra ze in de wachtrij staan, klik je met de rechtermuisknop op de success relatie
    tussen UpdateAttribute en PutSQL en selecteer List Queue .
  • Selecteer een willekeurig stroombestand en navigeer naar de Attributes tab en kijk of de attributen absolute.path en flowfilename bestaat en als
    ze bestaan, controleer dan of ze de verwachte waarde hebben. In jouw geval absolute.path moet de waarde hebben /path/in/nifi/node/to/file en flowfilename moet de waarde hebben /data.csv

Vraag aan jou:Stel je deze attributen zelf in met UpdateAttribute , reden is dat NiFi geen attribuut genereert met de naam flowfilename , het genereert er een met de naam filename .

Nog een ding, zorg ervoor dat ofwel de waarde voor absolute.path eindigt met een / aan het einde of de waarde van flowfilename begint met een / . Zo niet, dan worden ze toegevoegd en is het resultaat /path/in/nifi/node/to/filedata.csv . U kunt de append . proberen functie die @Mahendra voorstelde, anders kunt u gewoon ${absolute.path}/${flowfilename} gebruiken .

Bijwerken

Ik realiseerde me net dat absolute.path is een kernattribuut zoals filename , filesize , mime.type , enz. Sommige processors gebruiken alle kernattributen, terwijl andere er maar een paar gebruiken die nodig zijn. GenerateTableFetch schrijft absolute.path maar stelt er niets voor. Daarom heeft het ./ wat de standaardwaarde is.

Dus mijn suggestie voor uw manier van werken is dat u absolute.path handmatig kunt instellen/overschrijven attribuut met behulp van UpdateAttribute (net zoals je filename hebt overschreven ) en stel de gewenste waarde in, namelijk /path/in/nifi/node/to/file




  1. Probleem met MySQL voor Visual Studio/Visual Studio 2017 Datasource Wizard. Objectverwijzing niet ingesteld op een instantie van een object

  2. jquery ajax werkt niet zonder firebug-breekpunt

  3. Maak een voorwaarde om de kleur van de polylijn in te stellen op de Google Maps API

  4. Hoe voer ik een bulkupdate uit in mySQL met node.js