Saltar al contenido

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 necesita ser limitada. En los casos en los que no pueda usar una transformación de transmisión, es posible que se aplique la fragmentación de datos. Desde la perspectiva de una transformación, una respuesta/solicitud de un servicio web SOAP corresponde a un origen/destino XML al considerar 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:

  • Usar un esquema de origen plano como entrada puede devolver campos asignados en blanco
    • Resumen: En determinadas circunstancias, cuando se utiliza un esquema de origen plano, los campos de destino no se asignan correctamente, lo que provoca 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 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 requiere para transformar ese único registro.

La transmisión se aplica automáticamente a las transformaciones en las que tanto el origen como 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 al configurar AutoStreaming=0 en el jitterbit.conf archivo para un Agente Privado.

  • La transmisión no se ha deshabilitado explícitamente configurando la variable Jitterbit jitterbit.transformation.auto_streaming a 0 o false.

  • No se utilizan funciones de resolución de instancias, como FindByPos, FindValue, o Sum.

  • Estas funciones de diccionario y matriz no están presentes: GetSourceInstanceMap, GetSourceAttrNames, GetSourceElementNames, GetSourceInstanceElementMap, GetSourceInstanceArray, GetSourceInstanceElementArray.

  • La función XML GetXmlString no es presente.

  • No hay mapeos múltiples en el destino.

  • La transformación no tiene una condición definido en el destino.

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

Ejemplos

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

Fragmentación

En una situación en la que una transformación de transmisión no es aplicable ni posible, es posible que pueda 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 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.

Se puede acceder a la opción Configuración para operaciones desde estas ubicaciones:

Una vez que la pantalla de configuración de operación esté abierta, 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 mejores prácticas sobre el uso de fragmentación de datos, consulte Opciones de operación.

Repetición de Transferencias de Archivos

Harmony garantiza que los archivos de texto se transfieran una sola vez. Cuando se inicia una operación, pero antes de mover cualquier archivo, Harmony comprueba 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 cualquier archivo de texto fuente dado son los mismos, el sistema asume que el archivo ha sido procesado y omite la transferencia de este archivo en particular.