Laboratorio de Pentaho en Ubuntu
Configurar Pentaho Server + complementos en Ubuntu ..
Laboratorio Pentaho
Pentaho Data Integration es una herramienta basada en cliente que normalmente se instala y configura para ejecutarse en Windows 11.
Hay varias opciones de licencia; para estos talleres instalaremos una edición Enterprise. Esto te dará la oportunidad de probar la creación de una solución completa: canalizaciones de datos automatizadas + analítica ..

Los siguientes pasos están destinados a configurar un entorno de laboratorio de Pentaho y deben completarse en orden para finalizar los talleres.
Asegúrese de haber descargado el Taller--Instalación:
Para instalar git:
Requisitos previos
Sistema Ubuntu 24.04 LTS (máquina física o virtual)
Cuenta de usuario con privilegios sudo
Conexión a Internet
Familiaridad básica con la línea de comandos de Linux
Docker
Docker es una plataforma que permite a los desarrolladores empaquetar aplicaciones y sus dependencias en contenedores ligeros y portátiles. Los contenedores garantizan que las aplicaciones se ejecuten de forma coherente en distintos entornos informáticos, desde portátiles de desarrollo hasta servidores de producción. Este taller le guiará a través del proceso completo de instalación de Docker Engine en Ubuntu 24.04 LTS (Noble Numbat).
Antes de instalar Docker, actualice su lista de paquetes existente.
Instale los paquetes que permiten a apt usar repositorios sobre HTTPS.
Cree un directorio para los keyrings y añada la clave GPG de Docker.
Añada el repositorio de Docker a sus fuentes apt.
Ahora que se ha añadido el repositorio de Docker, actualice el índice de paquetes.
Instale Docker Engine, containerd y Docker Compose.
Compruebe que Docker está instalado correctamente verificando la versión.
Debería ver una salida similar a (noviembre de 2025):
Verifique que Docker Engine se está ejecutando.
El servicio debería mostrarse como "activo (en ejecución)".
Salir.
Pruebe su instalación de Docker ejecutando el contenedor hello-world.
Este comando descarga una imagen de prueba y la ejecuta en un contenedor. Si tiene éxito, verá un mensaje que confirma que Docker funciona correctamente.
Sin Sudo
De forma predeterminada, Docker requiere privilegios sudo. Para ejecutar comandos de Docker sin sudo.
Añada su usuario al grupo docker.
Aplique la nueva pertenencia al grupo (o cierre sesión y vuelva a iniciarla).
Verifique que puede ejecutar Docker sin sudo.
Asegúrese de que Docker se inicie automáticamente cuando el sistema arranque.
Verificación y pruebas
Para confirmar que todo funciona correctamente, ejecute los siguientes comandos:
Compruebe la versión de Docker:
Ver información del sistema Docker:
Listar contenedores en ejecución:
Listar todos los contenedores (incluidos los detenidos):
Listar las imágenes descargadas:
Comandos comunes
Estos son comandos esenciales de Docker que usará con regularidad:
docker pull <image>- Descargar una imagen de Docker Hubdocker images- Listar todas las imágenes localesdocker run <image>- Crear e iniciar un contenedor a partir de una imagendocker ps- Listar contenedores en ejecucióndocker ps -a- Listar todos los contenedoresdocker stop <container>- Detener un contenedor en ejecucióndocker rm <container>- Eliminar un contenedor detenidodocker rmi <image>- Eliminar una imagendocker logs <container>- Ver los registros del contenedordocker exec -it <container> bash- Acceder a la shell de un contenedor en ejecución
Docker Compose - MySQL
El usuario pentaho_admin solo tiene permiso de LECTURA para la base de datos Steel Wheels - sampledata. La cuenta de administrador ha sido eliminada.
Como vas a ejecutar operaciones de base de datos CRUID, necesitamos desplegar un contenedor Docker de la base de datos sampledata, otorgando todos los privilegios a un usuario administrador.
Ejecuta el siguiente script para crear una carpeta MySQL y copiar los archivos necesarios.
Comprueba que se ha creado el directorio y que los archivos se han copiado.
Ejecuta el script docker-compose para crear el contenedor.

Comprueba que el contenedor está activo y en ejecución en Docker.


sampledata_schema.sql
Este script crea una estructura de base de datos relacional completa para una aplicación empresarial de ejemplo. Está diseñado para modelar un sistema de ventas y gestión de pedidos para una empresa que vende varios productos.
Configuración de la base de datos
Crea una base de datos llamada
con conjunto de caracteres UTF-8
Configura usuarios con permisos adecuados
Configura el modo SQL para una mejor integridad de los datos
Tablas
OFFICES: Almacena las ubicaciones de las oficinas de la empresa con detalles de dirección
EMPLOYEES: Contiene información de los empleados con relaciones con las oficinas y la estructura de रिपोर्टes
CUSTOMERS: Almacena información de clientes, incluidos datos de contacto y límites de crédito
PRODUCTS: Contiene el catálogo de productos con información de inventario y precios
ORDERS: Registra los pedidos de clientes con estado y fechas
ORDERDETAILS: Contiene las líneas de detalle de cada pedido con cantidad y precio
PAYMENTS: Registra los pagos de clientes con importes y fechas
ORDERFACT: Una tabla de hechos para el análisis de pedidos
CUSTOMER_W_TER: Información ampliada de clientes con territorio
DIM_TIME: Tabla de dimensión temporal para informes
DEPARTMENT_MANAGERS: Almacena información de los gerentes de departamento
QUADRANT_ACTUALS: Contiene datos financieros presupuestados frente a reales con una columna VARIANCE generada
TRIAL_BALANCE: Datos contables de balance de comprobación
Vistas
customer_order_summary: Resume los pedidos y el gasto por cliente
product_performance: Analiza métricas de ventas de productos, incluidos ingresos y beneficios
employee_sales_performance: Sigue el rendimiento de ventas por empleado
monthly_sales_trend: Muestra las tendencias de ventas a lo largo del tiempo por mes
product_inventory_status: Clasifica los productos según los niveles de inventario
customer_payment_history: Resume la actividad de pagos y los saldos de los clientes
Procedimientos almacenados
GetCustomerOrders: Recupera los pedidos de un cliente específico
UpdateProductStock: Actualiza los niveles de inventario del producto
GetProductSalesByQuarter: Analiza las ventas trimestrales de productos
GetTopCustomersByRegion: Identifica a los clientes principales por región
GetInventoryValueByProductLine: Calcula las métricas de inventario por línea de producto
Disparadores
before_order_insert: Valida las restricciones de fecha en los pedidos
before_payment_insert: Garantiza que los importes de pago sean positivos
Ejecuta el siguiente comando para crear el esquema.
Este comando está importando datos de esquema SQL en una base de datos MySQL que se ejecuta en un contenedor Docker. Aquí tienes un desglose:
Este comando lee el archivo SQL:
Pasa (redirige) el contenido del archivo al siguiente comando:
Esto ejecuta un comando en un contenedor Docker en ejecución:
Puedes comprobar la base de datos y las tablas sampledata con los siguientes comandos.
Mostrar bases de datos:
Mostrar tablas:
Mostrar columnas de la tabla:
sampledata_data.sql
Este script rellena la base de datos con datos de ejemplo para demostrar la funcionalidad del esquema.
Datos de referencia
Ubicaciones de oficinas en diferentes regiones
Jerarquía de empleados con cargos
Catálogo de productos organizado por líneas de producto
Datos transaccionales
Registros de clientes con información de contacto
Historial de pedidos con fechas y estado
Detalles de pedidos con cantidades y precios
Registros de pagos
Datos financieros
Cifras presupuestadas frente a reales en QUADRANT_ACTUALS
Datos contables del balance de comprobación
Características de los datos
Escenarios empresariales realistas con distintos estados de pedido
Catálogo de productos completo con descripciones y precios
Estructura jerárquica de empleados con relaciones de reporte
Datos basados en el tiempo que abarcan varios años para el análisis de tendencias
Datos financieros adecuados para presupuestación y análisis de variaciones
Características destacadas
Los datos siguen restricciones de integridad referencial
Manejo adecuado de valores NULL cuando corresponde
Valores de precios y cantidades realistas
Las columnas generadas (como VARIANCE) se excluyen de las inserciones directas
Los pedidos se secuencian para cumplir las restricciones de clave externa
Ejecuta el siguiente comando para cargar los datos en las tablas sampledata.
Puedes usar los siguientes comandos para comprobar que los datos se han cargado.
Para contar el número de filas en una tabla específica:
Para ver las primeras filas de una tabla:
Para comprobar los recuentos de todas las tablas:
Para obtener un resumen de las tablas y sus estados:

DBeaver
Va a necesitar una herramienta de gestión de bases de datos. DBeaver Community es una herramienta gratuita y de código abierto para la gestión de bases de datos en proyectos personales.
La opción más sencilla es descargarlo e instalarlo desde Snapstore.
O
Vaya a la página de descargas de DBeaver
O
Para instalar ese archivo DEB.
Fije DBeaver en Dash - barra inferior.
Base de datos MySQL
Si has completado los 3 requisitos anteriores, entonces deberías tener un contenedor Docker de MySQL expuesto en el puerto:3306 con la base de datos sampledata.
Inicia DBeaver y selecciona: MySQL.

Configura la conexión con las siguientes propiedades:
Usuario: root o pentaho_user
Contraseña: password

Es posible que necesites descargar la versión compatible del controlador de la base de datos.
Activa también: allowPublicKeyRetrieval

Prueba la conexión.

Despliega: databases > sampledata > Tables

Abre una ventana SQL y ejecuta una consulta de prueba.

Solución general de problemas (haz clic para expandir)
Problema: errores de "permiso denegado"
Solución: Asegúrate de que tu usuario esté en el grupo docker y de que hayas cerrado sesión y vuelto a iniciarla, o ejecuta
newgrp docker
Problema: el servicio Docker no se inicia
Solución: Comprueba los registros con
sudo journalctl -u docker.service
Problema: no se puede conectar al demonio de Docker
Solución: Asegúrate de que el servicio Docker se esté ejecutando con
sudo systemctl start docker
Última actualización
¿Te fue útil?
