.07 Variables
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) |