Modalità di funzionamento ELT in DataStage

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

Cos'è il processo ELT?

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

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

Cos'è la modalità di funzionamento ELT in DataStage?

È possibile configurare DataStage per eseguire i flussi in modalità ELT. Quando i flussi vengono eseguiti in modalità ELT, DataStage analizza gli elementi del flusso, come le fasi e i connettori, e determina se il flusso può essere eseguito in modalità ELT. Il seguente elenco descrive le azioni possibili quando è abilitata la modalità di funzionamento ELT.
Nessuna modalità ELT
Quando l'analisi determina che il DataStage flusso non può essere convertito in SQL, viene utilizzata la modalità ETL e il flusso DataStage viene compilato con il motore di runtime PX.
Modalità ELT
Quando l'analisi determina che il DataStage flusso può essere convertito in SQL, viene utilizzata la modalità ELT e il flusso DataStage viene compilato in SQL.
Modalità mista ETL ed ELT
Quando l'analisi determina che il DataStage flusso può essere convertito solo parzialmente in SQL, vengono utilizzate entrambe le modalità ETL ed ELT, a seconda delle necessità.

Disponibilità

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

Connettori supportati

I seguenti connettori sono supportati come sorgenti e destinazioni nella 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 tabella seguente mostra quali connettori sono supportati nella modalità di esecuzione ELT o in modalità mista ELT ed ETL, nonché eventuali limitazioni applicabili. Per i connettori elencati come funzionanti in modalità mista, un sottoinsieme di proprietà è supportato per ELT. Se una proprietà non supporta ELT, la compilazione ricade su ETL. Consulta il log nella console DataStage canvas per informazioni su quali componenti sono stati in grado di compilare ed eseguire.
Tabella 1. Connettori con limitazioni nella modalità di funzionamento ELT o nella modalità mista ELT ed ETL
Connettore Modalità Limitazioni
Amazon Redshift Misto
  • Campionamento
    • Il tipo di campionamento casuale non è supportato
    • La percentuale di campionamento non è supportata
    • Il campionamento dei semi non è supportato
  • Istruzioni SQL prima/dopo
    • Prima (nodo) e dopo (nodo) non sono supportati
  • Modalità di scrittura
    • Il carico non è supportato
    • L'istruzione di aggiornamento non è supportata
  • Modalità di lettura
    • L'istruzione SELECT non è supportata
Google BigQuery ELT
  • Supporta solo un metodo di autenticazione: chiave account (snippet JSON completo)
  • I flussi complessi possono incorrere in limiti di visualizzazione nidificati quando la politica di materializzazione è impostata su Collega come visualizzazione.
  • Alcune funzioni di trasformazione parallela non sono supportate. Vedi le limitazioni per l' Transformer stage
IBM Db2 ELT
  • I processi con grandi volumi di dati potrebbero non funzionare e dare errori. SQL0964C The transaction log for the database is full. Per risolvere questo problema, un amministratore di database può aumentare le dimensioni del log delle transazioni.
  • Le funzioni di conversione dei dati in SQL generano un'eccezione quando viene fornita una data non valida
  • Alcune funzioni di trasformazione parallela non sono supportate. Vedi le limitazioni per l' Transformer stage
Db2IBM ottimizzato ELT
  • Il nome dello schema predefinito non è supportato
    • Quando viene specificato il nome di una tabella, il nome dello schema deve essere incluso nella forma SchemaName.TableName
Oracle ELT
  • Alcune funzioni di trasformazione parallela non sono supportate. Vedi le limitazioni per l' Transformer stage

Fasi supportate

La tabella seguente mostra quali fasi sono supportate nella modalità di esecuzione ELT o mista ELT ed ETL, nonché eventuali limitazioni applicabili. Per le fasi elencate come in esecuzione in modalità mista, è supportato un sottoinsieme di proprietà per ELT. Se una proprietà non supporta ELT, la compilazione ricade su ETL. Consulta il log nella console DataStage canvas per informazioni su quali componenti sono stati in grado di compilare ed eseguire.
Tabella 2. Fasi con limitazioni nella modalità di funzionamento ELT o nella modalità mista ELT ed ETL
Fase Modalità Limitazioni
Aggregatore Misto
  • Tipo di aggregazione:
    • Il ricalcolo non è supportato
  • Tipo di calcolo
    • Il riassunto non è supportato
  • Le impostazioni locali NLS e le proprietà avanzate vengono ignorate
  • Potrebbero verificarsi lievi differenze nella componente frazionaria dei numeri decimali tra la modalità ETL e quella mista a causa della gestione degli errori di arrotondamento
Copia ELT
  • Le impostazioni locali NLS e le proprietà avanzate vengono ignorate
Filtro Misto
  • I predicati (clausola where) non sono supportati
  • I parametri di lavoro (clausola where) non sono supportati
  • Emetti riga solo una volta
    • No
  • Output elementi respinti
    • Vero
  • Le impostazioni locali NLS e le proprietà avanzate vengono ignorate
Imbuto ELT
  • Le impostazioni locali NLS e le proprietà avanzate vengono ignorate
Unione ELT
  • Le impostazioni locali NLS e le proprietà avanzate vengono ignorate
Ricerca Misto
  • Condizioni vincolanti:
    • Non tutte le funzioni di trasformazione parallela sono supportate.
    • Per la funzione IsValid, solo decimal[x,y] è supportato 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

      • Fabbriche

      • Floor

      • Llabs

      • Ri

      • Lg (solo PostgreSQL )

      • Massimo

      • Minimo

      • Mod

      • Neg

      • Pwr

      • SIN

      • SINH

      • Sqrt

      • MarroneChiaro

      • TANH

      • Alnum

      • Alfa

      • LowerCase

      • UpperCase

      • Lunghezza

      • CompactWhiteSpace

      • StringNumConcatenate

      • Modifica

      • CompareNoCase

      • CompareNum

      • CompareNumNoCase

      • Dquote

      • Squote

      • Ereplace

      • FindReplace

      • A sinistra

      • A destra

      • Indietro

      • Soundex (solo Snowflake)

      • Spazio

      • Str

      • StrCmp

      • StripWhitespace

      • Rifinitura (solo PostgreSQL )

    • Errore di ricerca e Condizione non soddisfatta devono essere impostati sullo stesso valore
    • Il fallimento non è supportato
  • La ricerca per intervallo non è supportata sia sul collegamento primario che su quello di riferimento, è possibile definire la ricerca per intervallo solo su un collegamento
  • Le impostazioni locali NLS e le proprietà avanzate vengono ignorate
Rimuovi duplicati Misto
  • Attualmente sempre sensibile alle maiuscole/minuscole rimuovi duplicati
  • I duplicati per conservare il nome/cognome non sono supportati
  • Le impostazioni locali NLS e le proprietà avanzate vengono ignorate
Ordinamento Misto
  • L'ordinamento senza distinzione tra maiuscole e minuscole non è supportato
  • Non ordinare come EBCDIC
  • Nessuna colonna con modifica chiave o colonna con modifica chiave cluster
  • Ignora l'opzione "Non ordinare"
  • Le statistiche di output vengono ignorate
  • L'ordinamento stabile viene ignorato
  • Sia l'utilità di DataStage ordinamento che Unix sono normali database di ordinamento
  • Le impostazioni locali NLS e le proprietà avanzate vengono ignorate
Trasformatore Misto
  • La maggior parte delle funzioni è supportata con 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 di ciclo non sono supportate
  • Le chiavi surrogate non sono supportate
  • I trigger (routine) non sono supportati
  • Le impostazioni avanzate di gestione dei valori nulli non sono supportate:
    • Elaborazione valori null legacy
    • Interrompi in caso di null non gestiti

Limitazioni

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

Abilitazione della modalità di funzionamento ELT

Per abilitare la modalità di funzionamento ELT in DataStage :
  1. Apri un DataStage flusso.
  2. Sulla barra degli strumenti, clicca sull'icona Impostazioni Immagine dell'icona Impostazioni.
  3. Fai clic sulla scheda Esegui.
  4. Fai clic su Estrai, carica, trasforma (ELT). Quindi, clicca su Salva.

Selezione di una politica di materializzazione

Seleziona 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 sono 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 sono materializzati come viste. Queste viste sono temporanee e vengono eliminate una volta create le tabelle di destinazione.
Avanzate
I modificatori di cardinalità sono materializzati come tabelle. Un modificatore di cardinalità è un sottoinsieme di nodi connessi, basato su fasi quali Lookup, Join e Aggregator. Questi nodi vengono combinati per risparmiare risorse, rendendo la costruzione più efficiente ed evitando calcoli ripetitivi.

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

Per garantire il corretto funzionamento della modalità ELT, è necessario impostare determinate autorizzazioni per i connettori di database utilizzati nel processo DataStage ELT. È necessario impostare le seguenti autorizzazioni per tutti i connettori di database:
  • Creare viste da istruzioni SELECT
  • Rimuovi viste
  • Creare tabelle da istruzioni SELECT
  • Elimina tabelle
  • Modifica delle tabelle per aggiungere 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.

Le autorizzazioni devono essere impostate all'interno del database corrispondente da un amministratore di database, il che esula dall'ambito di DataStage e Cloud Pak for Data.

Compilazione con il comando dsjob

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

Esempio:

Hai un DataStage flusso con quattro oggetti al suo interno:
  • Una PostgreSQL fonte di dati
  • Sort stage
  • Filter stage
  • Un target PostgreSQL di dati

È possibile attivare la modalità ELT aprendo le impostazioni di esecuzione e selezionandola.

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

Tu gestisci il lavoro. Durante l'esecuzione del processo, i dati PostgreSQL di origine vengono convertiti utilizzando istruzioni SQL che applicano l'ordinamento e il filtraggio. Il risultato viene salvato come tabella definita nel connettore PostgreSQL di destinazione.

Il processo è terminato e il database di destinazione ora contiene tutti i dati trasformati.