Procesamiento de Transformación
Introducción
Harmony admite estos métodos para procesar una transformación:
Una transformación de transmisión es el método preferido para usar cuando la cantidad de memoria utilizada por una transformación debe ser limitada. En los casos en los que no se puede usar una transformación de transmisión, se puede aplicar la fragmentación de datos. Desde la perspectiva de una transformación, una respuesta/solicitud de servicio web SOAP corresponde a una fuente/destino XML cuando se consideran las limitaciones en el procesamiento.
Esta página también cubre cómo Harmony maneja el procesamiento de archivos que ya han sido procesados.
Problema Conocido
Se sabe que este problema ocurre con las transformaciones:
- El uso de un esquema de origen plano como entrada puede devolver campos mapeados en blanco
- Resumen: En determinadas circunstancias, cuando se utiliza un esquema de origen plano, los campos de destino no se asignan correctamente, lo que hace que estén en blanco.
- Información adicional: Esto no ocurre con esquemas reflejados o esquemas JSON.
- Solución alternativa: Agregue un secuencia de comandos al comienzo de la operación que deshabilite las transformaciones de transmisión configurando
$jitterbit.transformation.auto_streaming = false;
.
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 requiere para transformar ese registro.
La transmisión se aplica automáticamente a las transformaciones donde el origen y el destino son ambos estructuras planas (por ejemplo, una única tabla de base de datos o un único 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 para un agente privado. -
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 múltiples asignaciones 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 utiliza automáticamente por la transformación cuando se procesa.
Examples" "Ejemplo "Ejemplos"
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
Fragmentación
En una situación en la que una transformación de transmisión 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 memoria no es un problema, una transformación de transmisión siempre es la opción preferida).
La fragmentación se configura en el nivel de operación desde las opciones de operación, por lo que puede usar la misma transformación tanto en modo fragmentado como no fragmentado.
La opción Configuración para las operaciones es accesible desde estas ubicaciones:
- La pestaña Flujos de Trabajo del panel del proyecto (vea menú de acciones del componente en la pestaña Flujos de Trabajo del panel Proyecto).
- La pestaña Componentes del panel del proyecto (vea menú de acciones de componentes en la pestañaComponentes del panel Proyecto).
- El tela de diseño (vea menú de acciones del componente en Lienzo de diseño).
Una vez abierta la pantalla de configuración de operación, seleccione la pestaña Opciones.
Utilice un tamaño de fragmento lo más grande posible, asegurándose de que los datos de un fragmento quepan en la memoria disponible.
Para obtener instrucciones y prácticas recomendadas sobre el uso de la fragmentación de datos, consulte Opciones de operación.
Transferencias Repetidas de Archivos
Harmony garantiza que los archivos de texto se transfieran solo una vez. Cuando se inicia una operación, pero antes de mover cualquier archivo, Harmony verifica la lista del historial de transferencias de archivos de origen para ver si ya se ha utilizado la misma información de origen. Se utilizan tres criterios para garantizar transferencias de archivos únicas:
- Nombre del archivo
- Fecha de modificación
- Identificación de la operación
Si todos estos criterios para un archivo de texto fuente determinado son los mismos, el sistema asume que el archivo ha sido procesado y omite la transferencia de este archivo en particular.