Laboratoire Pentaho Ubuntu
Configuration du serveur Pentaho + des plugins sur Ubuntu ..
Laboratoire Pentaho
Pentaho Data Integration est un outil client généralement installé et configuré pour fonctionner sous Windows 11.
Il existe plusieurs options de licence ; pour ces ateliers, nous allons installer une édition Enterprise. Cela vous donnera l’occasion d’essayer de construire une solution complète - pipelines de données automatisés + analytique ..

Les étapes suivantes sont destinées à la mise en place d'un environnement Pentaho Lab et doivent être effectuées dans l'ordre pour terminer les ateliers.
Assurez-vous d'avoir téléchargé le Workshop--Installation :
Pour installer git :
Prérequis
Système Ubuntu 24.04 LTS (machine physique ou virtuelle)
Compte utilisateur avec privilèges sudo
Connexion Internet
Familiarité de base avec la ligne de commande Linux
Docker
Docker est une plateforme qui permet aux développeurs d'empaqueter des applications et leurs dépendances dans des conteneurs légers et portables. Les conteneurs garantissent que les applications s'exécutent de manière cohérente dans différents environnements informatiques, des ordinateurs portables de développement aux serveurs de production. Cet atelier vous guidera à travers le processus complet d'installation de Docker Engine sur Ubuntu 24.04 LTS (Noble Numbat).
Avant d'installer Docker, mettez à jour votre liste de paquets existante.
Installez les paquets qui permettent à apt d'utiliser des dépôts via HTTPS.
Créez un répertoire pour les keyrings et ajoutez la clé GPG de Docker.
Ajoutez le dépôt Docker à vos sources apt.
Maintenant que le dépôt Docker est ajouté, mettez à jour l'index des paquets.
Installez Docker Engine, containerd et Docker Compose.
Vérifiez que Docker est installé correctement en vérifiant la version.
Vous devriez voir une sortie similaire à celle-ci (novembre 2025) :
Vérifiez que Docker Engine est en cours d'exécution.
Le service devrait afficher « active (running) ».
Quitter.
Testez votre installation Docker en exécutant le conteneur hello-world.
Cette commande télécharge une image de test et l'exécute dans un conteneur. Si elle réussit, vous verrez un message confirmant que Docker fonctionne correctement.
Sans sudo
Par défaut, Docker nécessite des privilèges sudo. Pour exécuter des commandes Docker sans sudo.
Ajoutez votre utilisateur au groupe docker.
Appliquez la nouvelle appartenance au groupe (ou déconnectez-vous puis reconnectez-vous).
Vérifiez que vous pouvez exécuter Docker sans sudo.
Assurez-vous que Docker démarre automatiquement au démarrage du système.
Vérification et tests
Pour confirmer que tout fonctionne correctement, exécutez les commandes suivantes :
Vérifier la version de Docker :
Afficher les informations système Docker :
Lister les conteneurs en cours d'exécution :
Lister tous les conteneurs (y compris ceux arrêtés) :
Lister les images téléchargées :
Commandes courantes
Voici les commandes Docker essentielles que vous utiliserez régulièrement :
docker pull <image>- Télécharger une image depuis Docker Hubdocker images- Lister toutes les images localesdocker run <image>- Créer et démarrer un conteneur à partir d'une imagedocker ps- Lister les conteneurs en cours d'exécutiondocker ps -a- Lister tous les conteneursdocker stop <container>- Arrêter un conteneur en cours d'exécutiondocker rm <container>- Supprimer un conteneur arrêtédocker rmi <image>- Supprimer une imagedocker logs <container>- Afficher les journaux du conteneurdocker exec -it <container> bash- Accéder au shell d'un conteneur en cours d'exécution
Docker Compose - MySQL
L’utilisateur pentaho_admin n’a que l’autorisation de LECTURE sur la base de données Steel Wheels - sampledata. Le compte administrateur a été supprimé.
Comme vous allez effectuer des opérations de base de données CRUID, nous devons déployer une base de données sampledata sous forme de conteneur Docker, en accordant tous les privilèges à un utilisateur administrateur.
Exécutez le script suivant pour créer un dossier MySQL et copier les fichiers requis.
Vérifiez que le répertoire a été créé et que les fichiers ont été copiés.
Exécutez le script docker-compose pour créer le conteneur.

Vérifiez que le conteneur est en cours d'exécution dans Docker.


sampledata_schema.sql
Ce script crée une structure de base de données relationnelle complète pour une application d’entreprise d’exemple. Il est conçu pour modéliser un système de gestion des ventes et des commandes pour une société qui vend divers produits.
Configuration de la base de données
Crée une base de données nommée
avec un jeu de caractères UTF-8
Configure des utilisateurs avec les autorisations appropriées
Configure le mode SQL pour une meilleure intégrité des données
Tables
OFFICES: Stocke les emplacements des bureaux de l’entreprise avec les détails d’adresse
EMPLOYEES: Contient les informations des employés avec les relations vers les bureaux et la structure hiérarchique
CUSTOMERS: Stocke les informations clients, y compris les coordonnées et les limites de crédit
PRODUCTS: Contient le catalogue des produits avec les informations d’inventaire et de tarification
ORDERS: Suit les commandes clients avec leur statut et leurs dates
ORDERDETAILS: Contient les lignes de commande pour chaque commande avec la quantité et le prix
PAYMENTS: Enregistre les paiements des clients avec les montants et les dates
ORDERFACT: Une table de faits pour l’analyse des commandes
CUSTOMER_W_TER: Informations client étendues avec le territoire
DIM_TIME: Table dimension temps pour les rapports
DEPARTMENT_MANAGERS: Stocke les informations sur les responsables de département
QUADRANT_ACTUALS: Contient les données financières budgetées par rapport aux données réelles avec une colonne VARIANCE générée
TRIAL_BALANCE: Données comptables financières
Vues
customer_order_summary: Résume les commandes et les dépenses par client
product_performance: Analyse les indicateurs de vente des produits, y compris le chiffre d’affaires et le profit
employee_sales_performance: Suit les performances commerciales par employé
monthly_sales_trend: Affiche les tendances des ventes au fil du temps par mois
product_inventory_status: Catégorise les produits selon les niveaux de stock
customer_payment_history: Résume l’activité de paiement des clients et les soldes
Procédures stockées
GetCustomerOrders: Récupère les commandes d’un client spécifique
UpdateProductStock: Met à jour les niveaux de stock des produits
GetProductSalesByQuarter: Analyse les ventes de produits par trimestre
GetTopCustomersByRegion: Identifie les meilleurs clients par région
GetInventoryValueByProductLine: Calcule les indicateurs de stock par ligne de produits
Déclencheurs
before_order_insert: Valide les contraintes de date sur les commandes
before_payment_insert: Garantit que les montants des paiements sont positifs
Exécutez la commande suivante pour créer le schéma.
Cette commande importe les données du schéma SQL dans une base de données MySQL exécutée dans un conteneur Docker. Voici un aperçu :
Cette commande lit le fichier SQL :
Transmet le contenu du fichier à la commande suivante :
Cette commande exécute une commande dans un conteneur Docker en cours d’exécution :
Vous pouvez vérifier la base de données et les tables sampledata avec les commandes suivantes.
Afficher les bases de données :
Afficher les tables :
Afficher les colonnes de la table :
sampledata_data.sql
Ce script remplit la base de données avec des données d’exemple pour démontrer la fonctionnalité du schéma.
Données de référence
Emplacements des bureaux dans différentes régions
Hiérarchie des employés avec leurs intitulés de poste
Catalogue de produits organisé par lignes de produits
Données transactionnelles
Fiches clients avec informations de contact
Historique des commandes avec dates et statut
Détails des commandes avec quantités et prix
Enregistrements des paiements
Données financières
Chiffres budgétés par rapport aux chiffres réels dans QUADRANT_ACTUALS
Données comptables de balance de vérification
Caractéristiques des données
Scénarios commerciaux réalistes avec des statuts de commande variés
Catalogue de produits complet avec descriptions et tarifs
Structure hiérarchique des employés avec liens hiérarchiques
Données chronologiques couvrant plusieurs années pour l’analyse des tendances
Données financières adaptées à la budgétisation et à l’analyse des écarts
Fonctionnalités notables
Les données respectent les contraintes d’intégrité référentielle
Gestion appropriée des valeurs NULL lorsque cela est pertinent
Valeurs réalistes de prix et de quantité
Les colonnes générées (comme VARIANCE) sont exclues des insertions directes
Les commandes sont ordonnées pour respecter les contraintes de clé étrangère
Exécutez la commande suivante pour charger les données dans les tables sampledata.
Vous pouvez utiliser les commandes suivantes pour vérifier que les données ont été chargées.
Pour compter le nombre de lignes dans une table spécifique :
Pour afficher les premières lignes d’une table :
Pour vérifier les comptes pour toutes les tables :
Pour obtenir un résumé des tables et de leur statut :

DBeaver
Vous aurez besoin d'un outil de gestion de base de données. DBeaver Community est un outil de gestion de bases de données gratuit et open source pour les projets personnels.
L'option la plus simple est de télécharger et d'installer depuis le Snap Store.
Ou
Rendez-vous sur la page officielle de téléchargement de DBeaver
Ou
Pour installer ce fichier DEB.
Épinglez DBeaver à Dash - barre d'outils inférieure.
Base de données MySQL
Si vous avez rempli les 3 exigences précédentes, vous devriez disposer d’un conteneur Docker MySQL exposé sur le port 3306 avec la base de données sampledata.
Lancez DBeaver et sélectionnez : MySQL.

Configurez la connexion avec les propriétés suivantes :
Nom d’utilisateur : root ou pentaho_user
Mot de passe : password

Vous devrez peut-être télécharger la version prise en charge du pilote de base de données.
Activez également : allowPublicKeyRetrieval

Testez la connexion.

Développez : databases > sampledata > Tables

Ouvrez une fenêtre SQL et exécutez une requête de test.

Dépannage général (cliquez pour développer)
Problème : erreurs « permission denied »
Solution : Assurez-vous que votre utilisateur appartient au groupe docker et que vous vous êtes déconnecté/reconnecté ou exécutez
newgrp docker
Problème : le service Docker ne démarre pas
Solution : consultez les journaux avec
sudo journalctl -u docker.service
Problème : impossible de se connecter au démon Docker
Solution : assurez-vous que le service Docker est en cours d'exécution avec
sudo systemctl start docker
Mis à jour
Ce contenu vous a-t-il été utile ?
