.07 Variables

Unknown macro: {scrollbar}

Variables

Las Variables se pueden utilizar en muchos lugares de PDI, incluyendo en pasos de Transformación y entradas de Trabajo.

Los campos que soportan el uso de variables se indican visualmente utilizando un signo rojo de dólar:

Se pueden usar las teclas "CTRL + Barra Espaciadora" para seleccionar la variable a insertar en el valor de la propiedad. Si se arrastra el ratón sobre el icono de la variable muestra la ayuda de teclas rápidas.

Se pueden definir variables de tres formas diferentes:

  • Configurándolas con en una Transformación el paso "Trabajo -> Asignar valor a variables":
  • A través de la barra de menú "Editar -> Establecer Variables de Entorno".
  • Mediante el archivo kettle.propiedades.

Para ver más detalles seguir el siguiente enlace: .01 Introducción a Spoon - Configurar Variables de Entorno

Alcance de las Variables

El alcance de una variable se establece por el lugar en el que fue definida

Variables de Entorno

El primer uso (y único en versiones previas de Kettle) fue configurar una variable de entorno. Tradicionalmente, esto se logró mediante el paso de opciones a la Máquina Virtual de Java (JVM) con la opción -D. También es una forma fácil de especificar la ubicación de archivos temporarios en una plataforma independiente, por ejemplo utilizando la variable "java.io.tmpdir". Esta variable apunta al directorio "/tmp" en Unix, GNU/Linux y OSX; y a "C:\Documents and Settings\<userName>\Local Settings\Temp" en Window$. El único problema con utilizar variables de entorno es que el uso no es dinámico y surgen problemas si se intenta utilizarlas en forma dinámica.
Por ejemplo, si se ejecutan 2 o más Transformaciones o Trabajos al mismo tiempo en un servidor de aplicaciones (por ejemplo la plataforma Pentaho) se presentan conflictos. Los cambios a las variables de entorno son visibles para todo el software que se ejecuta en la máquina virtual.

Variables de Kettle

Debido a que el alcance de una variable de entorno es demasiado amplio, se introdujeron las variables de Kettle para proporcionar una forma de definir variables locales al Trabajo en el cual se establecen las variables.
El paso "Trabajo -> Asignar valor a variables" en una Transformación permite especificar el Trabajo en el que desea establecer el alcance de la variable (es decir, máquina virtual, Trabajo padre, Trabajo abuelo o Trabajo raíz).

Variables Internas

Las siguientes variables vienen definidas por defecto:

Nombre de Variable

Valor de ejemplo

Internal.Kettle.Build.Date

2007/05/22 18:01:39

Internal.Kettle.Build.Version

2045

Internal.Kettle.Version

2.5.0

Las siguientes variables contienen información de una Transformación:

Nombre de Variable

Valor de ejemplo

Internal.Transformation.Filename.Directory

/home/datos/programas/data-itegration/ejemplos/Transf

Internal.Transformation.Filename.Name

Mi Transformación.ktr

Internal.Transformation.Name

Mi Transformación

Internal.Transformation.Repository.Directory

/

Las siguientes variables contienen información de un Trabajo:

Nombre de Variable

Valor de ejemplo

Internal.Job.Filename.Directory

/home/datos/programas/data-itegration/ejemplos/Trab

Internal.Job.Filename.Name

Mi Trabajo.kjb

Internal.Job.Name

Mi Trabajo

Internal.Job.Repository.Directory

/

Las siguientes variables contienen información de una Transformación ejecutada en modo clustered que corre sobre un servidor esclavo:

Nombre de Variable

Valor de ejemplo

Internal.Slave.Transformation.Number

0..cluster size-1 (0,1,2,3 o 4)

Internal.Cluster.Size

cluster size (5)