.13 Ejecutar una Transformación o Trabajo

Unknown macro: {scrollbar}

Ejecutar una Transformación o Trabajo

A continuación se tratarán los siguientes temas:

Ejecución de una Transformación o Trabajo


Al momento de ejecutar una Transformación o Trabajo ( ) podemos configurar una serie de opciones al respecto.

La ventana que se presenta al ejecutar una Transformación es la siguiente:

La ventana que se presenta al ejecutar un Trabajo es la siguiente:

Opciones de Ejecución


Las siguientes opciones permiten especificar en dónde se desea ejecutar la Transformación o Trabajo:

  • Ejecución local: la Transformación o Trabajo será ejecutada en la máquina que se está utilizando actualmente.
  • Ejecución remota: permite especificar un servidor remoto donde se desea que se ejecute la Transformación o Trabajo. Esta característica requiere tener instalado PDI en una máquina remota y corriendo el servicio Carte.
  • Ejecución clustered: Permite ejecutar la Transformaicón en un entorno clustered.

La siguiente tabla proporciona una descripción detallada de otras opciones de Ejecución:

Opción

Descripción

Habilitar modo seguro

Coloca la Transformación o Trabajo en Modo Seguro.

Nivel de Registro

Permite especificar el nivel de detalle que se desea capturar en el log.

Fecha de Ejecución

Establece la fecha y hora en que se desea ejecutar la Transformación o Trabajo.

Parámetros

Esta tabla permite establecer los valores de los argumentos a utilizar al ejecutar la Transformación o Trabajo.

Variables

Esta tabla permite establecer los valores de las variables a utilizar al ejecutar la Transformación o Trabajo.

Los diferentes valores que pueden utilizarse para Nivel de Registro son los siguientes:

Error

Sólo muestra los errores.

Nothing

No muestra ninguna salida.

Minimal

Sólo usa logging mínimo.

Basic

Es el nivel de logging básico por defecto.

Detailed

Brinda una salida detallada del logging.

Debug

Para propósitos de depuración, salida muy detallada.

Row level

Logging a nivel de fila, esto puede generar pérdida de datos.

Ejecución como Vista Previa


La opción inicia el diálogo de depuración de la Transformación permitiendo especificar que paso se desea depurar, la cantidad de filas a previsualizar y definir puntos de interrupción condicionales para la ejecución previa. Luego de configurar la información de depuración, se puede hacer clic en el botón 'Comienzo Rápido' para comenzar la ejecución previa del paso actualmente seleccionado.

Opción

Descripción

Lista de Pasos

La lista de pasos de la izquierda muestra los pasos disponibles de la Transformación actual. Seleccionar un paso para iniciar las opciones de configuración relacionadas, tales como la cantidad de líneas y puntos de interrupción.

Número de filas a obtener

Ingresar las filas por paso que se desea previsualizar para el paso seleccionado. Después de que se obtienen las filas solicitadas desde los diferentes pasos, se finaliza la Transformación y se muestra el resultado.

Nota: Esta opción solamente tendrá efecto cuando se tilde la opción 'Obtener primeras filas'.

Obtener primeras filas (prever)

Habilitar esta opción para restringir el tamaño de la previsualización de la cantidad de filas especificadas anteriormente.

Pausar transformación en la condición

Habilitar esta opción para causar que la Transformación se detenga si la evaluación de uno de los puntos de interrupción condicionales es verdadera durante la ejecución.

Punto de quiebre/condición de pausa

Ingresar condiciones basadas en la comparación de un campo con otro campo o valor.

Configuración Remota y Servidores Esclavos

Descripción General

Los servidores esclavos permiten ejecutar una Transformación o Trabajo en un servidor remoto. Configurar un servidor esclavo requiere tener un pequeño servidor web denominado "Carte" corriendo en la máquina remota, que aceptará entradas ya sea desde Spoon (ejecución remota & clustered) o desde la entrada de trabajo Transformación (ejecución clustered).

Configurar un servidor remoto o esclavo

Instalar PDI en el servidor que se desea utilizar para ejecutar las Transformaciones o Trabajos remotamente. La instalación incluye un pequeño servidor web llamado Carte que se usa para soportar las solicitudes remotas.
Iniciar el servidor Carte ejecutando Carte.bat o carte.sh desde el directorio de instalación de PDI.
Luego apuntar el servidor maestro a cada uno de los servidores esclavos.
Para hacer esto, hacer doble clic en el nodo "Servidor esclavo" del árbol principal en el panel de la izquierda, o clic derecho en "Servidor esclavo" y seleccionar la opción "Nuevo". Esto abrirá una ventana con dos pestañas "Servicio" y "Proxy"; las mismas se describen a continuación.

Opciones de la pestaña Servicio:

Opción

Descripción

Nombre del servidor

Nombre descriptivo del servidor que se desea usar como esclavo.

Nombre de Host o dirección IP

Dirección de la máquina que se usará como esclava.

Puerto

Define el puerto que se desea usar para comunicarse con el servidor remoto.

Nombre de usuario

Nombre de usuario para acceder al servidor remoto.

Contraseña

Contraseña para acceder al servidor remoto.

Es el maestro

Esta opción indica a PDI que este servidor actuará como servidor maestro en cualquier ejecución clustered de la Transformación.

Nota: Al ejecutar una transformación en un entorno clustered, se debería tener 1 servidor configurado como maestro y todos los servidores restantes del cluster como esclavos.

Opciones de la pestaña Proxy:

Opción

Descripción

Nombre del host del servidor proxy

Establece el nombre del host para el servidor Proxy a través del cual se conecta.

Puerto del servidor proxy

Establece el número de puerto utilizado en la comunicación con el proxy

Ignorar el proxy para hosts: expresión

Especifica el servidor(es) para el cual el proxy no debería estar activo. Esta opción soporta la especificación de múltiples servidores utilizando expresiones regulares. También se pueden agregar múltiple servidores y expresiones separadas por el caracter "|".

Clustering

Descripción

El Clustering permite ejecutar Transformaciones y pasos de Transformación en paralelo en más de un servidor. El esquema de clustering define qué servidores esclavos desea asignar al cluster y una variedad de opciones de ejecución clustered.

Crear un esquema de cluster

Para crear un nuevo esquema de cluster ir al panel izquierdo, seleccionar la pestaña "Árbol principal" y realizar alguna de las acciones siguientes:

  • hacer doble clic sobre el nodo "Esquema de cluster de kettle".
  • hacer clic derecho sobre el nodo "Esquema de cluster de kettle" y seleccionar la opción "Nuevo".

Al realizar esto, se nos abrirá la ventana de a continuación:

Opción

Descripción

Nombre de Esquema

Nombre del esquema de cluster.

Puerto

Aquí se puede especificar el puerto desde el cual comenzar a numerar los puertos para los servidores esclavos. Cada paso adicional clustered que se ejecuta en un servidor esclavo consumirá un puerto adicional.

Nota: Para evitar problemas de red asegurarse de que otros protocolos de red no estén en el mismo rango.

Tamaño del buffer de socket

Tamaño del buffer interno a utilizar.

Intervalo para vaciado de sockets (filas)

Cantidad de filas después de la cual el buffer interno se envía completamente a través de la red y luego se vacía.

¿Datos de sockets comprimidos?

Al tildar esta opción se comprimen todos los datos utilizando el algoritmo de compresión Gzip, para minimizar el tráfico de red.

Servidores esclavos

Es una lista de los servidores a utilizar en el cluster. Debería haber un servidor maestro y varios servidores esclavos. Para agregar servidores al cluster, hacer clic en el botón 'Selecciones los servidores esclavos' para seleccionar de la lista de servidores esclavos disponibles.

Ejecutar Transformaciones utilizando un cluster

Al ejecutar una Transformación, seleccionar 'Ejecución clustered' y activar/desactivar las siguientes opciones:

  • Enviar transformación: divide la Transformación y la envía a los diferentes servidores maestro y esclavos.
  • Preparar ejecución: ejecuta la fase de inicialización de la Transformación en los servidores maestro y esclavos.
  • Iniciar ejecución: inicia la ejecución real de las Transformaciones del maestro y los esclavos.
  • Mostrar transformaciones: muestra las Transformaciones generadas que se ejecutarán en el cluster.

Ejemplo básico de Clustering

Se supondrá que se tienen los datos de una tabla (de una base de datos) y se desea ejecutar a través de un programa JavaScript especialmente complejo. Por razones de performance se desea ejecutar este programa en 5 hosts diferentes.
Lo primero que se hará será crear un cluster con un servidor maestro y 4 esclavos:

Luego se creará la Transformación como es habitual, conectando 2 pasos con un salto. Seguidamente se especificará que el script se ejecutará en un cluster:

Ahora se seleccionará el cluster a utilizar. La Transformación se dibujará de la siguiente manera en la vista gráfica:
 
El Cx4 indica que el paso será ejecutado en un cluster. Siguiendo con el ejemplo se supondrá que la información calculada como resultado se almacenará en otra tabla:

 
 
Al ejecutar localmente esta Transformación, no se notará la diferencia con el resultado habitual esperado de una ejecución no clustered. Esto significa que se puede utilizar la ejecución local normal para probar la Transformación. Sin embargo, se puede ejecutar la Transformación en modo clustered. En este caso, se generarán 5 transformaciones para los 5 servidores del cluster:

  • Un maestro:
     
  • y 4 Transformaciones esclavas:
     
    Como se puede observar, los datos se enviarán a través de los sockets TCP/IP utilizando los pasos "Socket Writer" y "Socket Reader".