Modo de execução ELT no DataStage

Use DataStage® no modo de execução Extrair, Carregar e Transformar (ELT) para executar consultas SQL de destino de forma mais eficiente.

O que é o processo ELT?

O processo primário que o DataStage usa é Extração, Transformação e Carregamento (ETL) no qual os dados são lidos na memória, processados e, em seguida, gravados em um destino. No DataStage, todos os trabalhos são executados no modo ETL por padrão.

O processo Extrair, Carregar e Transformar (ELT) transfere dados de uma origem para um banco de dados de destino e, em seguida, prepara as informações no próprio banco de dados. Em determinadas situações, é vantajoso usar o processo ELT para transformar os dados no banco de dados de destino. Um exemplo pode ser quando você precisa transformar grandes conjuntos de dados que já estão em origens ou destinos de dados específicos..

Qual é o modo de execução do ELT em DataStage?

É possível configurar o DataStage para executar fluxos no modo ELT Quando os fluxos são executados no modo ELT, DataStage analisa os itens no fluxo, como estágios e conectores e determina se o fluxo pode ser executado no modo ELT. A lista a seguir descreve as ações possíveis quando o modo de execução do ELT está ativado
Nenhum modo ELT
Quando a análise determina que o fluxo do DataStage não pode ser convertido em SQL, o modo ETL é usado e DataStage compila o fluxo com o mecanismo de tempo de execução do PX.
Modo ELT
Quando a análise determina que o fluxo do DataStage pode ser convertido para SQL, o modo ELT é usado, e o DataStage compila o fluxo para SQL
Modo misto ETL e ELT
Quando a análise determina que o fluxo do DataStage pode ser convertido apenas parcialmente para SQL, ambos os modos ETL e ELT são usados conforme necessário

Disponibilidade

O modo de execução ELT está disponível em DataStage Enterprise e DataStage Enterprise Plus.

Conectores suportados

Os conectores a seguir são suportados como origens e destinos no modo de execução do ELT:
  • Amazon RDS for PostgreSQL
  • Amazon Redshift
  • Google BigQuery
  • IBM Cloud® Databases for PostgreSQL
  • IBM Db2®
  • IBM Db2 para o DataStage
  • IBM Db2 on Cloud
  • IBM® Db2 Warehouse
  • Oracle
  • PostgreSQL
  • Snowflake
  • Teradata
  • Banco de dados Teradata para o DataStage
  • watsonx.data
A tabela a seguir mostra quais conectores são suportados no modo de execução ELT ou ELT e ETL combinados e quaisquer limitações que se aplicam. Para conectores listados como em execução no modo misto, um subconjunto de propriedades é suportado para ELT. Se uma propriedade não suportar ELT, a compilação voltará para ETL. Consulte o log no console da tela DataStage para obter informações sobre quais componentes foram capazes de compilar e executar.
Tabela 1. Conectores com limitações no modo de execução ELT ou no modo ELT e ETL combinados
Conector Modo Limitações
Amazon Redshift Mixed
  • Amostragem
    • Tipo de amostragem aleatória não é suportado
    • A porcentagem de amostragem não é suportada..
    • O valor inicial de amostragem não é suportado..
  • Instruções SQL antes / depois
    • Antes (nó) e depois (nó) não são suportados
  • Modo de Gravação
    • Carregamento não é suportado
    • A instrução de atualização não é suportada..
  • Modo de leitura
    • A instrução select não é suportada
Google BigQuery elt
  • Suporta apenas um método de autenticação: Chave de Conta (fragmento JSON integral) .
  • Fluxos complexos podem ser executados em limites de visualização aninhados quando a política de materialização é configurada como Link como visualização
  • Não há suporte para algumas funções de transformação paralela. Veja as limitações do estágio do transformador
IBM Db2 elt
  • Tarefas com volumes de dados grandes podem falhar com erro SQL0964C The transaction log for the database is full. Para resolver isso, um administrador de banco de dados pode aumentar o tamanho do log de transações.
  • Funções de conversão de dados em SQL lançam uma exceção quando uma data inválida é fornecida
  • Não há suporte para algumas funções de transformação paralela. Veja as limitações do estágio do transformador
IBM Db2 otimizado elt
  • O nome do esquema padrão não é suportado..
    • Quando um nome de tabela é especificado, o nome do esquema deve ser incluído no formulário SchemaName.TableName
Oracle elt
  • Não há suporte para algumas funções de transformação paralela. Veja as limitações do estágio do transformador

Estágios suportados

A tabela a seguir mostra quais estágios são suportados no modo de execução ELT ou ELT e ETL combinados e quaisquer limitações que se apliquem. Para estágios listados como em execução no modo misto, um subconjunto de propriedades é suportado para ELT. Se uma propriedade não suportar ELT, a compilação voltará para ETL. Consulte o log no console da tela DataStage para obter informações sobre quais componentes foram capazes de compilar e executar.
Tabela 2. Estágios com limitações no modo de execução ELT ou no modo ELT e ETL combinados
Estágio Modo Limitações
Agregador Mixed
  • Tipo de agregação:
    • O novo cálculo não é suportado
  • Tipo de cálculo
    • O resumo não é suportado
  • O código do idioma NLS e as propriedades avançadas são ignorados
  • Pequenas diferenças no componente de fração de números decimais podem ocorrer entre os modos ETL e misto devido à manipulação de erros de arredondamento
Copiar elt
  • O código do idioma NLS e as propriedades avançadas são ignorados
Filtro Mixed
  • Predicados (cláusula where) não são suportados
  • Parâmetros da tarefa (cláusula where) não são suportados
  • Linha de saída apenas uma vez
    • Não
  • Rejeições de saída
    • Sim
  • O código do idioma NLS e as propriedades avançadas são ignorados
Funnel elt
  • O código do idioma NLS e as propriedades avançadas são ignorados
Junção elt
  • O código do idioma NLS e as propriedades avançadas são ignorados
Lookup Mixed
  • Condições de restrição:
    • Nem todas as funções de transformação paralelas são suportadas.
    • Para a função IsValid, somente decimal[x,y] é compatível como o primeiro argumento.
    • A maioria das funções é suportada com Google BigQuery e IBM Db2. Com PostgreSQL e Snowflake, apenas as funções a seguir são suportadas:

      • IsNull

      • IsNotNull

      • Comparar

      • Abs

      • Acos

      • Asin

      • Atan

      • Atan2

      • Ceil

      • Cos

      • Cosh

      • Exp

      • Fabs

      • Andar

      • Llabs

      • Ln

      • Lg (apenas PostgreSQL)

      • Máx.

      • Mínimo

      • Mod

      • Neg

      • Pwr

      • Sin

      • Sinh

      • Sqrt

      • Tan

      • Tanh

      • Alnum

      • Alfa

      • LowerCase

      • UpperCase

      • Comprimento

      • CompactWhiteSpace

      • StringNumConcatenate

      • Mudança

      • CompareNoCase

      • CompareNum

      • CompareNumNoCase

      • DQuote

      • SQuote

      • Ereplace

      • FindReplace

      • Esquerda

      • Direito

      • Reversão

      • Soundex (apenas Snowflake)

      • Espaço

      • Str

      • StrCmp

      • StripWhitespace

      • Corte (apenas PostgreSQL)

    • Falha na consulta e Condição não atendida devem ser configurados para o mesmo valor
    • Falha não é suportada
  • A consulta de intervalo não é suportada no link primário e de referência; é possível definir apenas a consulta de intervalo em um link..
  • O código do idioma NLS e as propriedades avançadas são ignorados
Remove Duplicates Mixed
  • Atualmente sempre faz distinção entre maiúsculas e minúsculas remover duplicatas
  • Duplicatas para reter primeiro / último não são suportadas
  • O código do idioma NLS e as propriedades avançadas são ignorados
Sort Mixed
  • A classificação sem distinção entre maiúsculas e minúsculas não é suportada
  • Nenhuma classificação como EBCDIC
  • Nenhuma coluna de mudança de chave ou colunas de mudança de chave de cluster
  • Não classificar é ignorada
  • As estatísticas de saída são ignorados
  • Classificação estável é ignorada
  • Os dois utilitários de classificação, DataStage e Unix, são ferramentas comuns de classificação de bancos de dados
  • O código do idioma NLS e as propriedades avançadas são ignorados
Transformador Mixed
  • A maioria das funções é compatível com Google BigQuery, Db2 e Oracle. Não há suporte para as seguintes funções:
    • ForceError
    • GetEnvironment
    • GetNumOfPartitions
    • GetPartitionNum
    • GetSavedInputRecord
    • NextSKChain
    • NextSurrogateKey
    • PrevSKChain
    • PrintMessage
    • PrintWarning
    • SaveInputRecord
    • SendCustomInstanceReport
    • SetCustomMetadataInfo
    • SendCustomReport
    • SetCustomSummaryInfo
    • SetUserStatus
  • Variáveis de loop não são suportadas
  • Surrogate keys não são suportadas
  • Acionadores (rotinas) não são suportados
  • As configurações avançadas de manipulação nula não são suportadas:
    • Processamento de nulo legado
    • Interromper em nulo não manipulado

Limitações

As limitações a seguir se aplicam ao modo de execução do ELT:
  • Fluxos com propagação de coluna de tempo de execução ativada não são suportados.
  • O truncamento de dados implícitos não é executado quando a ação da tabela é CREATE ou REPLACE
  • O pushdown de origem e o pushdown completo de destino não oferecem suporte a operações entre bancos de dados ou entre esquemas.

Ativando o modo de execução ELT

Para ativar o modo de execução do ELT em DataStage:
  1. Abra um fluxo do DataStage
  2. Imagem do ícone ConfiguraçõesNa barra de ferramentas, clique no ícone de Configurações.
  3. Clique na guia Executar ..
  4. Clique em Extrair, carregar, transformar (ELT). Em seguida, clique em Salvar

Selecionando uma política de materialização.

Selecione uma política de materialização para definir o processamento de sua consulta As opções a seguir estão disponíveis.
Gerar SQL aninhado
Apenas modelos de saída (tabelas de destino) são materializados. Cada modelo de saída é representado por uma única consulta que inclui todas as conversões de nós de entrada para saídas
Link como tabela
Todos os links de fluxo de integração são materializados como tabelas Essas tabelas são temporárias e são excluídas quando as tabelas de destino são construídas.
Link como visualização
Todos os links de fluxo de integração são materializados como visualizações Essas visualizações são temporárias e são excluídas quando as tabelas de destino são construídas.
Avançado
Os trocadores de cardinalidade são materializados como tabelas Um alterador de cardinalidade é um subconjunto de nós conectados, com base em estágios como Consulta, Junção e Agregador. Esses nós são combinados para conservar recursos construindo de forma mais eficiente e evitando cálculos repetitivos.

Configurando permissões do conector do banco de dados no modo de execução do ELT

Para assegurar que o modo ELT seja executado com êxito, deve-se configurar determinadas permissões para os conectores de banco de dados que você usa no processo ELT do DataStage As permissões a seguir devem ser configuradas para todos os conectores de banco de dados:
  • Criar visualizações a partir de instruções selecionadas
  • Descartar visualizações
  • Criar tabelas a partir de instruções selecionadas
  • Eliminar tabelas
  • Alterar tabelas para incluir restrições nulas e chaves primárias

Se um conector for configurado com instruções SQL customizadas, mais permissões serão necessárias para operações SQL que são usadas nas instruções SQL customizadas.

As permissões devem ser definidas no banco de dados correspondente por um administrador de banco de dados, o que está fora do escopo do DataStage e Cloud Pak for Data.

Compilando com o Comando dsjob

É possível compilar um fluxo do DataStage usando a linha de comandos:
cpdctl dsjob compile --project <project name> --enable-elt-mode

Exemplo

Você tem um fluxo DataStage com quatro objetos nele:
  • Uma origem de dados PostgreSQL
  • Um estágio de Classificação
  • Um estágio de Filtro
  • Um destino de dados do PostgreSQL

Ative o modo ELT abrindo as configurações de execução e selecionando-o.

Depois de compilar a tarefa com êxito, o log de compilação tem uma única mensagem de "transferência completa". Essa mensagem indica que o fluxo inteiro foi compilado no modo ELT

Você executa o trabalho. Durante a execução da tarefa, os dados de origem do PostgreSQL são convertidos usando instruções SQL que aplicam a classificação e filtragem. O resultado é persistido como uma tabela definida no conector de destino PostgreSQL .

A execução da tarefa é concluída e o banco de dados de destino agora retém todos os dados transformados