Saltar al contenido

Transformaciones de Flujo y por Lotes

Jitterbit admite estos métodos para procesar una transformación:

Las transformaciones por secuencias y lote son los métodos preferidos cuando se necesita limitar la cantidad de memoria que utiliza una transformación de Jitterbit. En los casos en los que no pueda utilizar una transformación por secuencias o lote, la fragmentación de datos puede aplicarse como se describe a continuación.

Nota

Desde la perspectiva de una transformación, una respuesta/solicitud de un servicio web SOAP corresponde a un origen/destino XML al considerar estas limitaciones en el procesamiento.

Transformación de Transmisión

Una transformación streaming carga un registro a la vez en la memoria, realiza la transformación del registro y escribe el destino en el disco. Esto minimiza la cantidad de memoria que se usa durante la transformación a lo que se necesita para transformar un registro.

La transmisión se aplica automáticamente a las transformaciones donde el origen y el destino son estructuras planas (por ejemplo, una sola tabla de base de datos o un solo archivo CSV) y se cumplen estos requisitos:

No se necesita ninguna otra acción; la transformación utilizará automáticamente la transmisión cuando se procese.

Ejemplo

Las Transformaciones que utilizan automáticamente la transmisión incluyen estas estructuras de datos:

  • CSV a CSV
  • Mesa individual a mesa individual
  • Tabla única a CSV
  • CSV a tabla única

Transformación por Lotes

Con transformaciones que no cumplen con los criterios de transmisión, la fuente completa se lee en la memoria y la transformación se realiza en la memoria. Este método suele ser el más eficiente en términos de tiempo, pero puede provocar errores de falta de memoria si la fuente es muy grande. En esos casos, ya sea una transformación lote o fragmentación de datos debe ser usado.

Una transformación lote es similar a una transformación de transmisión, pero procesa varios registros de origen a la vez (los lotes) y tiene menos limitaciones que la transmisión. Se puede usar en los casos en que la transmisión no se usa automáticamente y es aplicable para fuentes jerárquicas (por ejemplo, para varias tablas de bases de datos con una o más relaciones padre-hijo o para formatos de archivos jerárquicos).

Para habilitar una transformación lote, haga clic con el botón derecho en el nodo de origen que se convertirá en el nodo de origen lote y, en el menú que se muestra, seleccione Definir transformación lote .

En el cuadro de diálogo que aparece, ingrese el tamaño máximo de lote. Este es el número de registros que deben leerse en la memoria en cada lote. Elegir un tamaño de lote que sea demasiado pequeño ralentizará la transformación. Sin embargo, todos los datos de origen y de destino de un lote deben caber en la memoria disponible.

Ejemplo

Las transformaciones por lotes se pueden usar en estos casos donde la fuente es muy grande:

  • Base de datos jerárquica para CSV o una sola tabla
  • Base de datos jerárquica a texto/base de datos jerárquica
  • Texto jerárquico en CSV o en una sola tabla
  • Texto jerárquico a texto jerárquico/base de datos

Fragmentación

En una situación en la que una transformación por lote no es aplicable o posible, puede usar fragmentación para que la transformación requiera menos memoria. Para fuentes y destinos XML muy grandes, la fragmentación de datos puede ser la única opción. (Si el uso de la memoria no es un problema, una transformación por lote o de transmisión es siempre la opción preferida). Para obtener más información, consulte Chunking.