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:

  1. I dettagli generali sono forniti nella scheda Generale .
  2. I dettagli sulla creazione dello stage vengono forniti nella pagina Creatore .
  3. La proprietà facoltativa dello stage viene definita nella scheda Proprietà .
  4. 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 .

  5. 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 .
  6. 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.