Hoe XML-bestanden direct van schijf te lezen in een DataStage parallelle taak

antwoord

de XML-invoerfase moet een enkele kolom als invoer nemen. Het is mogelijk om de XML-Invoerfase te configureren om ofwel de volledige inhoud van een XML-document te accepteren of een bestand ( of URL) pad waar de werkelijke inhoud van het document kan worden gelezen. Het configureren van de XML-invoerfase om het bestandspad te accepteren is de beste optie voor parallelle taken. De XML Input stage zal dan het bestand openen als de input stream, en lees het bestand direct vanaf de schijf zonder het te veranderen op welke manier dan ook. Deze methode is sneller, verbruikt minder middelen, en is veel minder foutgevoelig dan het gebruik van een sequentiële bestandsfase.

de methode pad vereist een manier om het volledige pad naar het bestand (of bestanden) te genereren, die vervolgens wordt doorgegeven aan de XML-invoerfase. De externe bron podium doet een uitstekende baan verstrekken van deze mogelijkheid. De externe bron fase zal elk uitvoerbaar programma shell en draaien, en vervolgens de standaard uitvoer van dat programma omleiden naar de taak. Om een lijst van de bestandspaden te krijgen, kunnen we de externe bron fase het ‘find’ programma laten uitvoeren dat gewoonlijk wordt meegeleverd met een Unix of Linux besturingssysteem. Op het Windows-platform wordt dit programma ook geleverd als onderdeel van de MKS Toolkit die automatisch wordt geïnstalleerd door de Datastage-installatie.

hier is een voorbeeld van hoe het find-programma het volledige pad naar XML-documenten kan produceren als ouput:

find /data/input-name “*.xml ” – print

het uitvoeren van het programma met deze argumenten zal een lijst van volledige paden naar elk bestand eindigen met de .XML extensie in de/data / input directory of een van de submappen. De uitvoer zal één bestandspad per regel hebben, afgesloten met een nieuw regelteken.

Leave a Reply

Het e-mailadres wordt niet gepubliceerd.