Esempio Costruire lo stage in DataStage
Uno stage Build di esempio, denominato Divide, che divide un numero per un altro e scrive il risultato e il resto in un link di output. Lo stage controlla anche se si sta tentando di dividere per zero e, se lo si sta facendo, invia il record di input a un link di elementi respinti.
Per dimostrare l'utilizzo delle proprietà, lo stage consente anche di definire un divisore minimo. Se il numero per cui si sta dividendo è inferiore al divisore minimo specificato quando si aggiunge lo stage a un job, anche il record viene rifiutato.
L'input per lo stage è definito come lettura automatica, mentre i due output hanno la scrittura automatica disabilitata. Il codice deve scrivere esplicitamente i dati in uno o più link di output. Nel caso di una divisione di successo, i dati scritti sono il record originale più il risultato della divisione e il resto. Nel caso di un record respinto, viene scritto solo il record originale.
Il record di input ha due colonne: dividendo e divisore. L'output 0 ha quattro colonne: dividendo, divisore, risultato e resto. L'output 1 (il link di elementi respinti) ha due colonne: dividendo e divisore.
Se la colonna divisore di un record di input contiene zero o è inferiore al divisore minimo specificato, il record viene rifiutato e il codice utilizza la macro transferAndWriteRecord(1) per trasferire i dati alla porta 1 e scriverli. Se il divisore non è zero, il codice utilizza doTransfersTo(0) per trasferire il record di input sull'Output 0, assegna i risultati della divisione a risultato e resto e infine chiama writeRecord(0) per scrivere il record sull'uscita 0.
Utilizzando la finestra di dialogo Tipo stage , questo stage viene definito in IBM® DataStage® nel modo seguente:
- I dettagli generali sono forniti nella scheda Generale .
- I dettagli sulla creazione dello stage vengono forniti nella pagina Creatore .
- La proprietà facoltativa dello stage viene definita nella scheda Proprietà .
- I dettagli degli input e degli output vengono definiti nella scheda delle interfacce della pagina Build .
I dettagli sul singolo input da dividere vengono forniti nella scheda secondaria Input della pagina Interfacce . Una definizione di tabella per il link di input è disponibile per essere caricata dal repository IBM DataStage .
I dettagli sugli output vengono forniti nella sottoscheda Output della scheda Interfacce .
Quando si utilizza lo stage in un job, accertarsi di utilizzare le definizioni di tabella compatibili con le tabelle definite nelle schede secondarie di input e output.
I dettagli relativi ai trasferimenti eseguiti dallo stage sono definiti nella sottoscheda Trasferimento della scheda Interfacce .
- Il codice è definito nella scheda Logica . In questo caso, tutta l'elaborazione viene eseguita nel loop Per - Record e quindi viene immessa nella sottoscheda Per - Record .
- Poiché questo esempio utilizza tutte le impostazioni predefinite di compilazione e creazione, tutto ciò che rimane da fare è fare clic su Genera per creare lo stage.