0 / 0

Modalità di esecuzione di ALT in DataStage

Ultimo aggiornamento: 10 lug 2025
Modalità di esecuzione di ALT in DataStage

Utilizzare DataStage® in modalità di esecuzione ELT (Extract, Load, and Transform) per eseguire in modo più efficace le query SQL nei database di destinazione.

Cos' è il processo ELT?

Il processo primario utilizzato da DataStage è ETL (Extract, Transform, and Load), in cui i dati vengono letti in memoria, elaborati e scritti in una destinazione. In DataStage, tutti i lavori vengono eseguiti in modalità ETL per impostazione predefinita.

Il processo ELT (Extract, Load, and Transform) trasferisce i dati da un database di origine a un database di destinazione e prepara le informazioni nel database stesso. In alcune situazioni, è vantaggioso utilizzare il processo ELT per trasformare i dati nel database di destinazione. Un esempio potrebbe essere quando è necessario trasformare dataset di grandi dimensioni che si trovano già in specifiche origini dati o destinazioni.

Qual è la modalità di esecuzione del PFU in DataStage?

È possibile impostare DataStage per eseguire i flussi in modalità ELT. Quando i flussi vengono eseguiti in modalità ELT, DataStage analizza gli elementi nel flusso, ad esempio stage e connettori, e determina se il flusso può essere eseguito in modalità ELT. Il seguente elenco descrive le azioni possibili quando è abilitata la modalità di esecuzione ELT.
Nessuna modalità ELT
Quando l'analisi determina che il flusso DataStage non può essere convertito in SQL, viene utilizzata la modalità ETL e DataStage compila il flusso con il motore di runtime PX.
Modalità ALT
Quando l'analisi determina che il flusso DataStage può essere convertito in SQL, viene utilizzata la modalità ELT e DataStage compila il flusso in SQL.
Modalità ETL e ELT mista
Quando l'analisi determina che il flusso DataStage può essere convertito solo parzialmente in SQL, vengono utilizzate entrambe le modalità ETL e ELT, in base alle necessità.

Disponibilità

La modalità di esecuzione OLT è disponibile sia in DataStage Enterprise che in DataStage Enterprise Plus.

Connettori supportati

I seguenti connettori sono supportati come origini e destinazioni in modalità di esecuzione ELT:
  • Amazon RDS for PostgreSQL
  • Amazon Redshift
  • Google BigQuery
  • IBM Cloud® Databases for PostgreSQL
  • IBM Db2®
  • IBM Db2 for DataStage
  • IBM Db2 on Cloud
  • IBM® Db2 Warehouse
  • Oracle
  • PostgreSQL
  • Snowflake
  • Teradata
  • Database Teradata per DataStage
  • watsonx.data
La seguente tabella mostra quali connettori sono supportati in modalità di esecuzione ELT o ELT ed ETL misti e le eventuali limitazioni applicabili. Per i connettori elencati come in esecuzione in modalità mista, è supportato un sottoinsieme di proprietà per ELT. Se una proprietà non supporta ELT, la compilazione ritorna a ETL. Consultare il file di log nella console dell'area di disegno di DataStage per informazioni sui componenti che sono stati in grado di compilare ed eseguire.
Tabella 1. Connettori con limitazioni in modalità di esecuzione ELT o in modalità mista ELT e ETL
Connettore Modalità Limitazioni
Amazon Redshift Misto
  • Campionamento
    • Il tipo di campionamento casuale non è supportato
    • La percentuale di campionamento non è supportata.
    • Il valore di inizializzazione del campione non è supportato
  • Istruzioni Before / after SQL
    • Before (nodo) e after (nodo) non sono supportati
  • Modalità di scrittura
    • Il caricamento non è supportato
    • L'istruzione Update non è supportata
  • Modalità di lettura
    • L'istruzione Select non è supportata
Google BigQuery ELT
  • Supporta solo un metodo di autenticazione: Chiave account (frammento JSON completo)
  • I flussi complessi possono essere eseguiti nei limiti della vista nidificata quando la politica di materializzazione è impostata su Collega come vista
  • Alcune funzioni di trasformazione parallela non sono supportate. Vedere le limitazioni per lo stadio trasformatore
IBM Db2 ELT
  • I lavori con volumi di dati di grandi dimensioni potrebbero avere esito negativo con errore SQL0964C The transaction log for the database is full. Per risolvere questo problema, un amministratore del database può aumentare la dimensione del log delle transazioni.
  • Le funzioni di conversioni dati in SQL generano un'eccezione quando viene fornita una data non valida
  • Alcune funzioni di trasformazione parallela non sono supportate. Vedere le limitazioni per lo stadio trasformatore
IBM Db2 ottimizzata ELT
  • Il nome schema predefinito non è supportato
    • Quando viene specificato un nome tabella, il nome schema deve essere incluso nel modulo SchemaName.TableName
Oracle ELT
  • Alcune funzioni di trasformazione parallela non sono supportate. Vedere le limitazioni per lo stadio trasformatore

Stage supportati

La seguente tabella mostra quali stage sono supportati in modalità di esecuzione ELT o ELT ed ETL misti e le eventuali limitazioni che si applicano. Per gli stage elencati come in esecuzione in modalità mista, un sottoinsieme di proprietà è supportato per ELT. Se una proprietà non supporta ELT, la compilazione ritorna a ETL. Consultare il file di log nella console dell'area di disegno di DataStage per informazioni sui componenti che sono stati in grado di compilare ed eseguire.
Tabella 2. Stage con limitazioni in modalità di esecuzione ELT o modalità mista ELT e ETL
Fase Modalità Limitazioni
Aggregatore Misto
  • Tipo di aggregazione:
    • Il ricalcolo non è supportato
  • Tipo di calcolo
    • Il riepilogo non è supportato
  • La locale NLS e le proprietà avanzate vengono ignorate
  • Lievi differenze nella componente frazionaria dei numeri decimali possono verificarsi tra ETL e modalità miste a causa della gestione degli errori di arrotondamento
Copia ELT
  • La locale NLS e le proprietà avanzate vengono ignorate
Filtro Misto
  • I predicati (clausola where) non sono supportati
  • I parametri del job (clausola where) non sono supportati
  • Emetti riga solo una volta
    • No
  • Output elementi respinti
    • Vero
  • La locale NLS e le proprietà avanzate vengono ignorate
Imbuto ELT
  • La locale NLS e le proprietà avanzate vengono ignorate
Unisci ELT
  • La locale NLS e le proprietà avanzate vengono ignorate
Ricerca Misto
  • Condizioni di vincolo:
    • Non tutte le funzioni di trasformazione parallele sono supportate.
    • Per la funzione IsValid, è supportato solo decimal[x,y] come primo argomento.
    • La maggior parte delle funzioni è supportata con Google BigQuery e IBM Db2. Con PostgreSQL e Snowflake, sono supportate solo le seguenti funzioni:

      • IsNull

      • IsNotNull

      • Confronta

      • abs

      • acos

      • ASIN

      • ATAN

      • Atan2

      • Ceil

      • COS

      • COSH

      • Esp

      • Fabs

      • Floor

      • Llab

      • Ri

      • Lg (solo PostgreSQL)

      • Max

      • Minimo

      • Mod

      • Neg

      • Pwr

      • SIN

      • SINH

      • Sqrt

      • MarroneChiaro

      • TANH

      • Alno

      • Alfa

      • LowerCase

      • UpperCase

      • Lunghezza

      • CompactWhiteSpace

      • StringNumConcatenate

      • Modifica

      • CompareNoCase

      • CompareNum

      • CompareNumNoCase

      • Virgoletta

      • Virgoletta

      • Sostituisci

      • FindReplace

      • A sinistra

      • A destra

      • Indietro

      • Soundex (solo Snowflake)

      • Spazio

      • Str

      • StrCmp

      • StripWhitespace

      • Relimita (solo PostgreSQL)

    • Errore di ricerca e Condizione non soddisfatta devono essere impostati sullo stesso valore
    • L'errore non è supportato
  • La ricerca intervallo non è supportata sia sul link primario che su quello di riferimento, è possibile solo definire la ricerca intervallo su un link
  • La locale NLS e le proprietà avanzate vengono ignorate
Rimuovi duplicati Misto
  • Attualmente rimuove sempre i duplicati sensibili al maiuscolo / minuscolo
  • I duplicati da conservare per primi / ultimi non sono supportati
  • La locale NLS e le proprietà avanzate vengono ignorate
Ordinamento Misto
  • L'ordinamento non sensibile al maiuscolo / minuscolo non è supportato
  • Nessun ordinamento come EBCDIC
  • Nessuna colonna di modifica chiave o colonne di modifica chiave cluster
  • Non ordinare viene ignorato
  • Le statistiche di output vengono ignorate
  • L'ordinamento stabile viene ignorato
  • Il programma di utilità di ordinamento DataStage e Unix sono ordinamenti di database normali
  • La locale NLS e le proprietà avanzate vengono ignorate
Trasformatore Misto
  • La maggior parte delle funzioni è supportata da Google BigQuery, Db2 e Oracle. le seguenti funzioni non sono supportate:
    • ForceError
    • GetEnvironment
    • GetNumOfPartitions
    • GetPartitionNum
    • GetSavedInputRecord
    • NextSKChain
    • NextSurrogateKey
    • PrevSKChain
    • PrintMessage
    • PrintWarning
    • SaveInputRecord
    • SendCustomInstanceReport
    • SetCustomMetadataInfo
    • SendCustomReport
    • SetCustomSummaryInfo
    • SetUserStatus
  • Le variabili loop non sono supportate
  • Le chiavi surrogate non sono supportati
  • I trigger (routine) non sono supportati
  • Le impostazioni di gestione null avanzate non sono supportate:
    • Elaborazione valori null legacy
    • Interrompi in caso di null non gestiti

Limitazioni

Le seguenti limitazioni si applicano alla modalità di esecuzione ELT:
  • I flussi con la propagazione colonna di runtime abilitata non sono supportati.
  • Il troncamento dei dati impliciti non viene eseguito quando l'azione della tabella è CREATE o REPLACE.

Abilitazione della modalità di esecuzione ELT

Per abilitare la modalità di esecuzione del PFU in DataStage:
  1. Aprire un flusso DataStage .
  2. Nella barra degli strumenti, fare clic sull'icona Impostazioni 'Immagine dell'icona Impostazioni.
  3. Fare clic sulla scheda Esegui .
  4. Fare clic su Estrai, carica, trasforma (ELT). Quindi, fare clic su Salva.

Selezione di una politica di materializzazione

Selezionare una politica di materializzazione per definire l'elaborazione della query. Sono disponibili le seguenti opzioni.
Genera SQL nidificato
Vengono materializzati solo i modelli di output (tabelle di destinazione). Ogni modello di output è rappresentato da una singola query che include tutte le trasformazioni dai nodi di input agli output.
Collega come tabella
Tutti i collegamenti del flusso di integrazione vengono materializzati come tabelle. Queste tabelle sono temporanee e vengono eliminate una volta create le tabelle di destinazione.
Collega come vista
Tutti i collegamenti del flusso di integrazione vengono materializzati come viste. Queste viste sono temporanee e vengono eliminate una volta create le tabelle di destinazione.
Avanzate
I modificatori di cardinalità vengono materializzati come tabelle. Un modificatore di cardinalità è un sottoinsieme di nodi connessi, basato su fasi quali Ricerca, Unione e Aggregatore. Questi nodi sono combinati per conservare le risorse creando in modo più efficiente ed evitando calcoli ripetitivi.

Impostazione delle autorizzazioni del connettore del database per la modalità di esecuzione ELT

Per essere certi che la modalità ELT venga eseguita correttamente, è necessario impostare alcune autorizzazioni per i connettori del database utilizzati nel processo ELT DataStage . Le seguenti autorizzazioni devono essere impostate per tutti i connettori del database:
  • Crea viste da istruzioni select
  • Rilascia viste
  • Crea tabelle da istruzioni select
  • Elimina tabelle
  • Modifica delle tabelle per l'aggiunta di vincoli null e chiavi primarie

Se un connettore è configurato con istruzioni SQL personalizzate, sono necessarie ulteriori autorizzazioni per le operazioni SQL utilizzate nelle istruzioni SQL personalizzate.

I permessi devono essere impostati all'interno del database corrispondente da un amministratore del database, il che non rientra nell'ambito di applicazione di DataStage e Cloud Pak for Data.

Compilazione con il comando dsjob

Puoi compilare un flusso DataStage utilizzando la riga di comando:
cpdctl dsjob compile --project <project name> --enable-elt-mode

Esempio

Si dispone di un flusso DataStage con quattro oggetti:
  • Un'origine dati PostgreSQL
  • Stage A Sort
  • Uno stage Filter
  • Una destinazione dati PostgreSQL

Abilitare la modalità ELT aprendo le impostazioni di esecuzione e selezionandola.

Dopo aver compilato correttamente il job, il log di compilazione contiene un singolo messaggio di "full pushdown". Questo messaggio indica che l'intero flusso è stato compilato in modalità ELT.

Tu gestisci il lavoro. Durante l'esecuzione del lavoro, i dati di origine PostgreSQL sono convertiti utilizzando le istruzioni SQL che applicano l'ordinamento e il filtro. Il risultato viene reso persistente come tabella definita nel connettore di destinazione PostgreSQL .

L'esecuzione del job termina e il database di destinazione ora contiene tutti i dati trasformati.