0 / 0
Torna alla versione inglese della documentazione

Cambiare Applica fase in DataStage

Ultimo aggiornamento: 12 mar 2025
Stage DataStage Change Apply

Lo stage Change Apply è uno stage di elaborazione. Prende la serie di dati di modifica che contiene le modifiche nei dataset prima e dopo dallo stage Change Capture e applica le operazioni di modifica codificate a una serie di dati prima per calcolare una serie di dati dopo.

L'input precedente a Change Apply deve avere le stesse colonne dell'input precedente che era stato immesso in Change Capture e deve esistere una conversione automatica tra i tipi di colonne corrispondenti. Inoltre, i risultati sono garantiti solo se il contenuto dell'input precedente a Change Apply è identico (in ordine di valore e record in ogni partizione) all'input precedente fornito a Change Capture e se le chiavi sono univoche.

Nota: l'input di modifica per Change Apply deve essere stato emesso da Change Capture senza modifiche. Poiché il mantenimento della partizione è impostato sull'output di modifica di Change Capture, l'utente verrà avvisato in fase di runtime se lo stage Change Apply non ha lo stesso numero di partizioni dello stage Change Capture. Inoltre, entrambi gli input di Change Apply vengono designati come partizionati utilizzando lo stesso metodo di partizionamento.

Lo stage Change Apply legge un record dal dataset change e dal dataset before , confronta i valori delle colonne chiave e agisce di conseguenza:

  • Se le chiavi precedenti vengono prima delle chiavi di modifica nel criterio di ordinamento specificato, il record precedente viene copiato nell'output. Il record di modifica viene conservato per il successivo confronto.
  • Se le chiavi precedenti sono uguali alle chiavi di modifica, il comportamento dipende dal codice presente nella colonna change_code del record di modifica:
    • Inserisci: il record di modifica viene copiato nell'output; lo stage conserva lo stesso record prima del successivo confronto. Se le colonne chiave non sono univoche e c'è più di un inserimento consecutivo con la stessa chiave, Change Apply applica tutti gli inserimenti consecutivi prima dei record esistenti. Questo ordine di record potrebbe essere diverso dal dataset successivo fornito a Change Capture.
    • Elimina: vengono confrontate le colonne di valori dei record precedenti e di modifica. Se le colonne dei valori sono le stesse o se le colonne dei valori di controllo all'eliminazione sono specificate come False, la modifica e i record precedenti vengono entrambi eliminati; nessun record viene trasferito all'output. Se le colonne del valore non sono le stesse, il record precedente viene copiato nell'output e lo stage conserva lo stesso record di modifica per il confronto successivo. Se le colonne chiave non sono univoche, le colonne valore assicurano che venga eliminato il record corretto. Se più di un record con le stesse chiavi ha colonne di valori corrispondenti, il primo record rilevato viene eliminato. Questa eliminazione potrebbe causare un ordinamento di record diverso rispetto a quello del dataset successivo fornito allo stage Change Capture. Viene emesso un messaggio di avvertenza e vengono eliminati sia il record di modifica che il record precedente, ossia, nessun risultato del record di output.
    • Modifica: il record di modifica viene copiato nell'emissione; il record precedente viene eliminato. Se le colonne chiave non sono univoche, verrà modificato il primo record precedente rilevato con le chiavi corrispondenti. Potrebbe trattarsi di un record diverso da quello modificato nel dataset successivo fornito allo stage Change Capture. Viene emesso un avviso e il record di modifiche viene copiato nell'output, ma lo stage conserva lo stesso record precedente per il prossimo confronto.
    • Copia: il record di modifica viene eliminato. Il record precedente viene copiato nell'output.
  • Se le chiavi prima vengono dopo le chiavi di modifica, il comportamento dipende anche dalla colonna change_code:
    • Inserisci. Il record modifica viene copiato nell'output e lo stage conserva lo stesso record precedente per il confronto successivo. (Lo stesso di quando le chiavi sono uguali.)
    • Elimina. Viene emessa un'avvertenza e il record change viene eliminato mentre il record before viene conservato per il prossimo confronto.
    • Modifica o Copia. Viene emesso un avviso e il record change viene copiato nell'emissione mentre il record prima viene conservato per il successivo confronto.
      Nota: se l'input prima di Change Apply è identico all'input prima di Change Capture e le chiavi sono univoche o vengono utilizzati record di copia, l'output di Change Apply è identico all'input dopo di Change Capture. Tuttavia, se l'input precedente di Change Apply non è lo stesso (contenuto o ordinamento di record differenti) o se le chiavi non sono univoche e i record di copia non sono utilizzati, ciò non viene rilevato e le regole sopra descritte vengono applicate in ogni caso, producendo un risultato che potrebbe o non potrebbe essere utile.

Il riquadro delle proprietà contiene tre schede:

Scheda fase
Questa scheda è sempre presente e viene utilizzata per specificare informazioni generali sullo stage.
Scheda input
Questa scheda è il punto in cui si specificano i dettagli relativi alla singola serie di input da cui si stanno selezionando i record.
Scheda output
Questa scheda è dove si specificano i dettagli sui dati elaborati che vengono emessi dallo stage.