Primer contacto con el entorno de trabajo PENTAHO (Parte I)

A continuación se va a explicar la estructura de los objetos que componen las ETLs en Petnaho DI. Por una parte se va a analizar como construir cada uno de estos componentes, así como cuales son las particularidades de configuración.

Siguiendo con los tipos de objetos con los que se trabaja en Kettle, en este punto se detallará como construir y configurar las Transformaciones y Trabajos, así como el paso de variables entre objetos.

Los desarrollos en Kettle, están formados por dos partes principalmente. Por una parte están las Transformaciones, cuya finalidad (como concepto genérico) es el modelado (total o parcial) de unos datos determinados para insertar en un escenario, el cual puede ser un contenedor intermedio información o almacenamiento final de esta una vez modelada.

Por otra parte se encuentran los Trabajos (Jobs), los cuales tienen la finalidad de agrupar diferentes Transformaciones con el fin de completar un proceso. Por lo que los Jobs corresponden a un nivel superior que las transformaciones. Es decir, un Job puede contener Transformaciones, pero una Transformación no puede contener Jobs.

Ambos objetos, tienen diferentes funciones orientadas a completar la funcionalidad de los procesos como se verá en los siguientes puntos.



Desarrollo y configuración de las Transformaciones

Como se ha avanzado al inicio de este punto, las Transformaciones son los elementos básico de diseño de los procesos ETL en la herramienta Pentaho Data Integration.

Una Transformación se compone de pasos (o steps), que están enlazados entre si a través de los saltos (o hops). Los pasos son el elemento mas pequeño dentro de las Transformaciones y estos tienen asignados funciones orientadas al modelado de la información e inserción en los contenedores de datos. Los saltos constituyen el elemento a través del cual fluye la información entre los diferentes pasos (siempre es la salida de un paso y la entrada de otro).

Como se puede observar en la siguiente imagen las Transformaciones están formadas por diferentes componentes, además de los pasos y saltos, como se detalla a continuación:

Detalles transformacion Pentaho

  • Las Conexiones a las Bases de Datos: Estas ya han sido explicadas en puntos anteriores, por lo que no se va a entrar en más detalle. Solo como apunte, se matiza que si que se pueden compartir conexiones a Bases de Datos, pero no de forma natural, sino que se debe forzar mediante la función ‘Compartir’

  • Esquema de partición de Bases de Datos: La cual sirve, en el caso que trabaje con tablas particionadas, pueda ser definido el esquema de partición y así mejorar el rendimiento de las consultas a estas bases de datos.

  • Esquema de cluster de Kettle: El cual define los servidores en cluster como recursos para la ejecución de esta transformación. De forma que para transformaciones con una alta necesidad de recursos, se puede definir una red de servidores de forma que no se cargue un único servidor con la ejecución de dicha Transformación. Se utiliza el carte.bat y se debe usar el nombre de usuario y contraseña ‘carte'(mirar documentación ‘carte pentaho’). El usuario y la contraseña se pueden cambiar en pwd/kettle.pwd

Existe un amplio repertorio disponible de pasos que permiten abordar casi cualquier necesidad en el diseño de nuestros procesos de integración de datos. Los pasos están agrupados por categorías como se puede observar en la siguiente imagen y cada uno de ellos esta diseñado para cumplir una función determinada. Cada paso tiene una ventana de configuración especifica, donde se determina los elementos a tratar y su forma de comportamiento.

Objetos transformación Pentaho

En el ejemplo de la siguiente imagen, en el primer paso estamos recuperando registros de una tabla de la base de datos, y los registros recuperados van siendo transmitidos a los siguientes pasos a través del salto, y se van realizando operaciones sobre los datos con los diferentes pasos incluidos.

Ejemplo transformación Pentaho

Por último solo quedará configurar las Propiedades de la Transformación, que se encuentra en ‘Editar/Configuración’ y en la cual se pueden definir diferentes parámetros como son Nombre, Descripción Corta, Descripción Larga, Versión, Estado, Archivado de Logs, Parámetros locales y un largo etcétera.

Detalle propiedades transformación Pentaho

Los campos que pueden ser configurados en esta opción, son los siguientes:

  • Pestaña Transformación:

La pestaña Transformación permite especificar propiedades generales de la Transformación, incluyendo:

 

Propiedad Descripción
Nombre Transformación Nombre de la Transformación. Información requerida si se utiliza el catálogo.
Transformation filename Ubicación física de la Transformación.
Descripción Breve descripción de la Transformación, que se muestra en el explorador de catálogo.
Descripción extendida Descripción ampliada de la Transformación.
Estado Estado de la Transformación: ninguno, producción o diseño.
Versión Información acerca de la versión de la Transformación.
Directorio Directorio del catálogo donde se almacena la transformación.
Creado por Muestra el creador original de la Transformación.
Creado en Muestra la fecha y la hora de creación de la Transformación.
Ultima modificación por Muestra el nombre de usuario del último usuario que modificó la Transformación.
Ultima modificación a Muestra la fecha y la hora de la última modificación de la Transformación.

 

  • Pestaña Parámetros

La pestaña Parameters permite establecer variables de entorno con su respectivo valor y descripción.

  • Pestaña Archivado

La pestaña Archivado permite configurar cómo y dónde se captura la información de archivado. Las propiedades incluyen:

Propiedad Descripción
archivar paso de LECTURA Usar la cantidad de líneas leídas desde este paso para escribir en la tabla de archivado. Leídas significa: leídas desde pasos fuente.
archivar paso de ENTRADA Usar la cantidad de líneas de entrada desde este paso para escribir en la tabla de archivado. Entrada significa: entrada desde un archivo o base de datos.
archivar paso de ESCRITURA Usar la cantidad de líneas escritas desde este paso para escribir en la tabla de archivado. Escritas significa: escritas en pasos destino.
archivar paso de SALIDA Usar la cantidad de líneas de salida desde este paso para escribir en la tabla de archivado. Salida significa: salida hacia un archivo o base de datos.
archivar paso de ACTUALIZACIÓN Usar la cantidad de líneas actualizadas desde este paso para escribir en la tabla de archivado. Actualizadas significa: actualizadas en una base de datos.
Paso de log RECHAZADO Usar la cantidad de líneas rechazadas desde este paso para escribir en la tabla de archivado. Rechazadas significa: error de registro.
Conexión Archivado Conexión utilizada para escribir en la tabla de archivado.
Tabla de archivado Especifica el nombre de la tabla de archivado (por ejemplo L_ETL)
¿Utilizar Id-Lote? Habilitar si se desea tener un ID de lote en el archivo L_ETL. Deshabilitar para compatibilidad con versiones < 2.0 de Spoon/Pan.
¿Utilizar campo para almacenar archivado? Almacena el texto del acceso en un campo CLOB de la tabla de archivado. Esto permite tener el texto del acceso junto con el resultado de la ejecución en la misma tabla. Deshabilitar para compatibilidad con versiones < 2.1 de Spoon/Pan.
  • Pestaña Fechas

La pestaña Fechas permite configurar las siguientes propiedades relacionadas con la fecha:

Propiedad Descripción
Conexión Máxima Fecha Obtener el límite superior de un rango de fechas en esta conexión.
Tabla Máxima Fecha Obtener el límite superior de un rango de fechas en esta tabla.
Campo Máxima Fecha Obtener el límite superior de un rango de fechas en este campo.
Desplazamiento Máxima Fecha (segundos) Incrementa el límite superior de la fecha en esa cantidad. Utilizar esto por ejemplo, si se encuentra que el campo DATE_LAST_UPD tiene un valor máximo de 2009-03-21 23:00:00, pero se sabe que los valores del último minuto no están completos. En este caso, simplemente establecer el desplazamiento en -60.
Diferencia Máxima Fecha (segundos) Establece la máxima diferencia de fechas en el rango de fechas obtenido. Esto permitirá limitar el tamaño de los trabajos.
  • Pestaña Dependencias

La pestaña Dependencias permite ingresar todas las dependencias de la Transformación. Por ejemplo, si una dimensión depende de 3 tablas de consulta, a través de esta opción podemos asegurarnos que las mismas no han cambiado. Si los valores de estas tablas de consulta han cambiado, se puede ampliar el rango de fechas para forzar una actualización completa de la dimensión.

Las dependencias permiten determinar si una tabla ha cambiado cuando hay una columna «datos modificados por última vez» en la tabla. Hacer clic en «Obtener dependencias» para detectar automáticamente las dependencias.

  • Pestaña Miscelanea

La pestaña Misceláneos permite configurar las siguientes propiedades:

Propiedad Descripción
Nro de filas del conjunto de filas Permite cambiar el tamaño de los buffers entre los pasos conectados en una Transformación. No cambiar este parámetro a menos que esté ejecutando con poca memoria, por ejemplo.
¿Mostrar una fila de retroalimentación en los pasos de transformación? Controla si se agrega o no una entrada de retroalimentación en el archivo de log mientras se ejecuta la Transformación. Por defecto, esta característica está habilitada y configurada para mostrar un registro de retroalimentación cada 50000 filas.
Tamaño de la retroalimentación Establece la cantidad de filas a procesar antes de ingresar una entrada de retroalimentación en el log. Establecer un valor más alto cuando se procesa grandes cantidades de datos para reducir la cantidad de información en el archivo de log.
Utilizar conexiones únicas Permite utilizar para abrir una conexión única mediante una conexión de base de datos definida y utilizada en la Transformación. Se requiere habilitar esta opción para permitir que un defecto de la Transformación se pueda deshacer completamente. También es necesario habilitar esta opción al tratar de modificar los ajustes de conexión antes de una consulta utilizando un paso «Ejecutar script SQL».
Fichero de Objetos Compartidos Especifica la ubicación del archivo XML que se usa para almacenar objetos compartidos como conexiones de base de datos, esquemas de clustering, etc.
¿Administrar prioridades de hilo? Permite habilitar o deshabilitar la lógica interna para cambiar las prioridades de los hilos en Java basada en la cantidad de filas de entrada y salida en los buffers «rowset». Esto puede ser útil en algunas situaciones donde el costo de utilizar la lógica excede el beneficio de la priorización de hilos.
  • Pestaña Monitorización

La pestaña Monitoring proporciona información relacionada al monitoreo de la Transformación

Deja una respuesta