Ir para o conteúdo

Transformações de Fluxo e Lote

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

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

Nota

Da perspectiva de uma transformação, uma resposta/solicitação de serviço web SOAP corresponde a uma origem/destino XML ao considerar essas limitações no processamento.

Transformação de Streaming

Uma transformação streaming carrega um registro por vez na memória, realiza a transformação do registro e grava o alvo 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 simples (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 ela for processada.

Exemplo

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

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

Transformação em Lote

Com transformações que não atendem aos critérios para streaming, a fonte inteira é lida na memória e a transformação é realizada na memória. Este 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 do que o streaming. Pode ser usada em 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 habilitar uma transformação em lote, clique com o botão direito do mouse no nó de origem que se tornará o nó de origem do lote e, no menu exibido, selecione Definir transformação em lote.

Na caixa de diálogo que aparece, 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 tornará a transformação mais lenta. No entanto, todos os dados de origem e destino de um lote devem caber na memória disponível.

Exemplo

transformações em lote podem ser usadas nestes 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 hierárquico/banco de dados

Fragmentação

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