Ir para o conteúdo

Transformações de Fluxo e Lote

Jitterbit suporta estes métodos para processar uma transformação:

Streaming e transformações em lote são os métodos preferidos para usar quando a quantidade de memória que uma transformação Jitterbit usa precisa ser limitada. Nos casos em que você não consegue usar uma transformação de streaming ou em lote, a fragmentação de dados pode ser aplicável conforme descrito abaixo.

Nota

Do ponto de vista de uma transformação, uma resposta/solicitação de serviço da Web SOAP corresponde a uma origem/destino XML ao considerar essas limitações de processamento.

Transmissão de Transformação

Uma transformação streaming carrega um registro por vez na memória, executa a transformação do registro e grava o destino no disco. Isso minimiza a quantidade de memória usada durante a transformação para o que é necessário para transformar um registro.

O streaming é aplicado automaticamente a transformações em que a origem e o destino são estruturas planas (por exemplo, uma única tabela de banco de dados ou um único arquivo CSV) e estes requisitos são atendidos:

Nenhuma outra ação é necessária; o streaming será usado automaticamente pela transformação quando for processado.

Exemplo

As Transformações que usam streaming automaticamente incluem estas estruturas de dados:

  • CSV para CSV
  • Mesa individual para mesa individual
  • Tabela única para CSV
  • CSV para tabela única

Transformação em Lote

Com transformações que não atendem aos critérios de streaming, toda a fonte é lida na memória e a transformação é executada na memória. Esse método geralmente é o mais eficiente em termos de tempo, mas pode levar a erros de falta de memória se a fonte for muito grande. Nesses casos, uma transformação em lote ou fragmentação de dados deve ser usado.

Uma transformação em lote é semelhante a uma transformação de streaming, mas processa vários registros de origem por vez (os batches) e tem menos limitações que o streaming. Ele pode ser usado nos casos em que o streaming não é usado automaticamente e é aplicável para fontes hierárquicas (por exemplo, para várias tabelas de banco de dados com um ou mais relacionamentos pai-filho ou para formatos de arquivo hierárquicos.

Para ativar uma transformação em lote, clique com o botão direito do mouse no nó de origem que se tornará o nó de origem em lote e, no menu exibido, selecione Definir transformação em lote .

Na caixa de diálogo exibida, insira o tamanho máximo do lote. Este é o número de registros que devem ser lidos na memória em cada lote. Escolher um tamanho de lote muito pequeno retardará a transformação. No entanto, todos os dados de origem e destino de um lote devem caber na memória disponível.

Exemplo

As transformações em lote podem ser usadas nesses casos em que a fonte é muito grande:

  • Banco de dados hierárquico para CSV ou uma única tabela
  • Banco de dados hierárquico para texto/banco de dados hierárquico
  • Texto hierárquico para CSV ou uma única tabela
  • Texto hierárquico para texto/banco de dados hierárquico

Fragmentação

Em uma situação em que uma transformação de streaming ou lote não é aplicável ou possível, você pode usar chunking para fazer com que a transformação exija menos memória. Para origens e destinos XML muito grandes, a fragmentação de dados pode ser a única opção. (Se o uso de memória não for um problema, uma transformação em streaming ou em lote é sempre a escolha preferida.) Para obter mais informações, consulte Chunking.