Hitachi Vantara Pentaho Community Wiki
Child pages
  • Documentación del Usuario de Pan

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

Excerpt
hiddentrue

Ejecutar transformaciones en modo por lotes

Anchor
¿Qué es Pan?
¿Qué es Pan?

¿Qué es Pan?

Pan es un programa que puede ejecutar transformaciones diseñadas con Spoon y almacenadas como XML ó en el repositorio de base de datos. Generalmente las transformaciones se programan en modo por lotes para ser ejecutadas en intervalos de tiempo regulares.

Anchor
Instalación
Instalación

Instalación

El primer paso es la instalación de la máquina virtual (JRE) de Java de Sun Microsystems, versión 1.5 ó mayor. La misma puede ser descargada gratuitamente desde http://www.java.com/.
Luego de esto simplemente descomprima el archivo zip de PDI (por ejemplo pdi-ce-3.1.0-GA.zip) en el directorio que elija.

En ambientes de tipo Unix (Solaris, GNU/Linux, ...) será necesario asignar permisos de ejecución a los scripts de comandos. Desde dentro del directorio de PDI se puede utilizar el siguiente comando:

Code Block
chmod +x *.sh

Anchor
Iniciando Pan
Iniciando Pan

Iniciando Pan

Para inciar Pan en diferentes plataformas se proveen los siguientes scripts:

  • Pan.bat : ejecutar Pan en la plataforma Windows
  • pan.sh : ejecutar Pan en plataformas tipo Unix y OSX

Pan puede ejecutarse en cualquier plataforma que tenga una versión de la máquina virtual de Java 1.5 ó mayor.

Anchor
Opciones de línea de comandos
Opciones de línea de comandos

Opciones de línea de comandos

Estas son las opciones de línea de comandos que puede utilizar.
NOTAS IMPORTANTES:

  • En el sistema Windows, el uso del guión ("-") en las opciones causa problemas, lo mismo que el signo igual ("="). A causa de ello a partir de la versión 2.2.2 puede utilizarse ese formato ó cualquier combinación de "/,-" y ":,=".
  • Es importante que si hay valores presentes en los valores de las opciones se utilicen comillas simples ó dobles para unirlos. Observe los ejemplos subsiguientes para más información.
Code Block
/opcion:valor

Debajo se listan las opciones válidas.

Mostrar información de la versión

Code Block
-version

Esta opción muestra la versión de la librería principal de PDI.
El número de versión de la compilación y la fecha de compilación se muestran también.

Ejecutar archivo XML (.ktr)

Code Block
-file=nombredearchivo

Esta opción ejecuta la transformación definida en el archivo XML (.ktr) indicado.

Establecer el archivo de log

Code Block
-log=nombredearchivo

Indica el archivo donde guardar el log (por defecto se utiliza la salida estándar).

Establecer el nivel de log

Code Block
-level=niveldelog

Esta opción establece el nivel de log para la transformación que se ejecutará.
Estos son los posibles valores:

  • Error: Mostrar sólo errores
  • Nothing: No mostrar salida
  • Minimal: Información mínima
  • Basic: Información básica (seleccionado por defecto)
  • Detailed: Información detallada
  • Debug: Para corrección de errores, salida muy detallada
  • Rowlevel: Información a nivel de registro, puede generar una gran cantidad de datos

Seleccionar un repositorio

Code Block
-rep="Nombre del Repositorio"

Conectar al repositorio con nombre "Nombre del Repositorio"
También será necesario especificar las opciones --user, --pass y --trans.
(Esta opción tembién puede ser especificada mediante la variable de entorno KETTLE_REPOSITORY)

Establecer el nombre de usuario del repositorio

Code Block
-user=nombredeusuario

Este es el nombre de usuario con el cual se conectará al repositorio.
(Esta opción tembién puede ser especificada mediante la variable de entorno KETTLE_USER)

Establecer la contraseña del repositorio

Code Block
-pass=Contraseña

Esta es la contraseña utilizada para conectarse al repositorio.
(Esta opción tembién puede ser especificada mediante la variable de entorno KETTLE_PASSWORD)

Seleccionar la transformación del repositorio a ejecutar

Code Block
-trans="Nombre de la transformación"

Esta opción permite seleccionar la transformación almacenada en el repositorio que se desea ejecutar

Listar los directorios del repositorio

Code Block
-listdir=Y

Imprime un listado de todos los subdirectorios del directorio especificado mediante la opción "-dir".

Establecer el directorio del repositorio

Code Block
-dir=/algun/directorio

Especifica el directorio del repositorio a utilizar. Algunos ejemplos:

  • El directorio raíz: /
  • Un subdirectorio: /produccion/Dimensiones/

Desde la versión 2.2.2, una barra ("/") se utiliza para separar directorios en todas las plataformas.

Listar las transformaciones del repositorio

Code Block
-listtrans=Y

Imprime una lista de todas las transformaciones alojadas en el directorio del repositorio especificado mediante la opción "-dir".

Listar los repositorios disponibles

Code Block
-listrep=Y

Imprime una lista de todos los repositorios definidos.

Exportar el repositorio completo

Code Block
-exprep=nombredearchivo.xml

Esta opción exporta el repositorio completo a un sólo archivo XML.
Para restablecer este archivo a un repositorio, por favor utilice el Explorador de Repositorios en Spoon.
Refiérase a la documentación de Spoon para más información.

No acceder al repositorio

Code Block
-norep=Y

Esta opción puede utilizarse si, a pesar de haver establecido las variables de entorno KETTLE_REPOSITORY, KETTLE_USER y KETTLE_PASSWORD, se desea evitar el acceso al repositorio (por ejemplo para ejecutar una transformación desde archivo XML).

Anchor
Ruta
Ruta

Ruta

Por favor asegúrese de estar posicionado en el direcotiro de PDI antes de ejecutar los ejemplos listados abajo. Si utiliza estos scripts en un archivo por lotes ó en otro script, simplemente ejecute un cambio de directorio al directorio de instalación:

Si PDI estuviera instalado en Windows en el disco D:

Code Block
D:

cd \PDI

Si PDI estuviera instalado en el directorio /product de un sistema tipo Unix:

Code Block
cd /product/PDI/

Anchor
Ejecutar una transformación desde un archivo
Ejecutar una transformación desde un archivo

Ejecutar una transformación desde un archivo

Este ejemplo ejecuta una transformación desde un archivo en plataforma Windows:

Code Block
pan.bat /file:"D:\Transformaciones\Dimension Clientes.ktr" /level:Basic

Este ejemplo ejecuta una transformación desde un archivo en plataforma tipo Unix:

Code Block
pan.sh -file="/transformaciones/Dimension Clientes.ktr" -level=Minimal

Anchor
Ejecutar una transformación desde el repositorio
Ejecutar una transformación desde el repositorio

Ejecutar una transformación desde el repositorio

Este ejemplo ejecuta una transformación desde el repositorio en plataforma Windows (Ingresar en sólo una línea sin retornos)

Code Block
pan.bat /rep:"Repositorio Produccion"
            /trans:"Actualizar Dimension Clientes"
            /dir:/Dimensiones/
            /user:miusuario
            /pass:mipassword
            /level:Basic

Anchor
Redirigiendo salida
Redirigiendo salida

Redirigiendo salida

Si desea que la salida de la ejecución sea almacenada en un archivo de log en lugar de ser impresa por pantalla, puede utilizar redirección
Este ejemplo agrega la salida de Pan a un archivo de log incremental:

Code Block
pan.sh -file="/transformaciones/trans.ktr" -level=Minimal >> /LOG/trans.log

Este ejemplo envía la salida de Pan a un archivo (que se sobreescribe cada vez):

Code Block
pan.bat /file:C:\transformaciones\trans.ktr /level:Basic > C:\LOG\trans.log

Anchor
Códigos de retorno
Códigos de retorno

Códigos de retorno

Pan devuelve un código de error basado en el resultado de la ejecución:

  • 0 : La transformación se ejecutó sin problemas.
  • 1 : Ocurrieron errores durante la ejecución.
  • 2 : Ocurrió un error inesperado durante la carga / ejecución de la transformación.
  • 3 : Imposible preparar e inicializar la transformación.
  • 7 : La transformación no pudo ser cargada desde el archivo XML ó el repositorio.
  • 8 : Error al cargar pasos ó complementos (generalmente error al cargar uno de los complementos)
  • 9 : Impresión del uso de la línea de comandos

Anchor
Programación
Programación

Programación

Programar una transformación en Windows

La mejor forma de comenzar es probando el comando primero en línea de comandos. Luego puede utilizarse el Programador de Tareas de Windows para ejecutar el comando.
A partir de Windows 2000 existe una interfaz de usuario para realizar esta tarea, accesible desde el panel de control. Sin embargo también puede utilizarse la línea de comando de esta manera:

Code Block
at 23:30 /every:Monday,Wednesday,Friday "D:\actualizar_dimensiones.bat"

Para ver una lista de los comandos programados simplemente ejecutar el comando:

Code Block
at

Programar una transformación en Unix

La mejor forma de comenzar es probando el comando primero en línea de comandos. Luego puede utilizarse cron para ejecutar el comando. Esto puede hacerse ejecutando el siguiente comando:

Code Block
crontab -e

Luego puede ingresarse el comando a ejecutar y el momento en que debe ejecutarse en una única línea en el archivo de texto que se presenta.
Las primeras opciones son:

  • El minuto de la hora, 0-59
  • La hora del día, 0-23
  • El día del mes, 1-31
  • El mes del año, 1-12
  • El día de la semana, 0-6, 0=Domingo

Puede especificarse un rango inclusivo de números separando dos números con un guión ("-"). Separando números con comas puede seleccionarse más de un valor específico. Si se utiliza un asterisco ("*") en lugar de un número, significa cualquier número posible para esa posición (cualquier minuto, cualquier día, etc.).
Por ejemplo, para actualizar dimensions a cada hora, a los 15 y a los 45 minutos de cada hora durante los días de semana, esta sería la línea a ingresar:

Code Block
#
# Ejecuta la actualización de las dimensiones del almacén de datos
#
15,45 * * * 1-5 /PROD/actualizar_dimensiones.sh
#