Transformaciones de Flujo y de Lote
Jitterbit admite estos métodos para procesar una transformación:
Las transformaciones por lotes y de lote son los métodos preferidos para usar cuando se necesita limitar la cantidad de memoria que utiliza una transformación Jitterbit. En los casos en los que no se puede usar una transformación por lotes o de transmisión, se puede aplicar la fragmentación de datos, como se describe a continuación.
Nota
Desde la perspectiva de una transformación, una respuesta/solicitud de servicio web SOAP corresponde a una fuente/destino XML cuando se consideran estas limitaciones en el procesamiento.
Transformación del Streaming
Una transformación de transmisión 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 utiliza 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:
-
La transmisión no se ha deshabilitado explícitamente mediante la configuración
AutoStreaming=0
en eljitterbit.conf
archivo. -
La transmisión no se ha deshabilitado explícitamente al configurar la variable Jitterbit
$jitterbit.transformation.auto_streaming
a0
ofalse
. -
No se utilizan funciones de resolución de instancias, como
FindByPos
,FindValue
, oSum
. -
Estas funciones de diccionario y matriz no están presentes:
GetSourceInstanceMap
,GetSourceAttrNames
,GetSourceElementNames
,GetSourceInstanceElementMap
,GetSourceInstanceArray
,GetSourceInstanceElementArray
. -
La función XML
GetXMLString
no está presente. -
No hay asignaciones múltiples en el objetivo.
-
La transformación no tiene una condición definido en el objetivo.
No se necesita ninguna otra acción; la transmisión se utilizará automáticamente por la transformación cuando se procese.
Ejemplo
Las Transformaciones que utilizan automáticamente la transmisión incluyen estas estructuras de datos:
- CSV a CSV
- De mesa individual a mesa individual
- Tabla única a CSV
- CSV a tabla única
Transformación por Lotes
En el caso de las transformaciones que no cumplen los criterios de transmisión, se lee toda la fuente en la memoria y se realiza la transformación 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, se puede utilizar una transformación lote o una fragmentación de datos debe utilizarse.
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 utilizar en casos en los que la transmisión no se utiliza 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 derecho en el nodo de origen que se convertirá en el nodo de origen del 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 del lote. Este es el número de registros que se deben leer en la memoria en cada lote. Si se elige un tamaño de lote demasiado pequeño, la transformación se ralentizará. Sin embargo, todos los datos de origen y destino de un lote deben caber en la memoria disponible.
Ejemplo
Las transformaciones por lotes se pueden utilizar en estos casos donde la fuente es muy grande:
- Base de datos jerárquica en formato CSV o en una sola tabla
- Base de datos jerárquica a texto/base de datos jerárquica
- Texto jerárquico en formato 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 lotes o de lote no es aplicable o no es posible, es posible utilizar la fragmentación para que la transformación requiera menos memoria. Para orígenes 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 siempre es la opción preferida). Para obtener más información, consulte Fragmentación.