Mysql
 sql >> Base de données >  >> RDS >> Mysql

Installation des pilotes MySQL JDBC dans les outils Pentaho Data Integration et BA Server

Présentation

Les outils Pentaho Data Integration et BA Server sont livrés avec de nombreux pilotes de base de données différents. Cependant, à partir de la version 7 de l'édition communautaire, ils ne sont pas livrés avec les pilotes JDBC pour Oracle, SQL Server ou MySQL (dans les outils d'intégration de données). Les étapes suivantes expliquent comment ajouter les pilotes MySQL JDBC à Pentaho.

Suivez ces instructions sur l'installation du serveur Pentaho BA et des outils d'intégration de données si les outils n'ont pas encore été installés. Après avoir installé les outils Pentaho, arrêtez le serveur BA et le logiciel d'intégration de données.

Obtenir les pilotes MYSQL JDBC

Les pilotes JDBC pour MySQL sont appelés "Connector/J"

Visitez :https://dev.mysql.com/downloads/connector/j/

Faites défiler jusqu'à la section avec les options de téléchargement.

Assurez-vous que "Platform Independent" est sélectionné

Pour le système d'exploitation Windows, téléchargez l'archive ZIP

Connectez-vous avec votre compte de site Web Oracle (ou créez-en un gratuitement). Ou cliquez sur Commencer simplement mon téléchargement lien.

Enregistrez le fichier ZIP dans un dossier :

Décompressez (décompressez) l'archive ZIP :

Les instructions pour copier les pilotes JDBC dans les dossiers appropriés des outils Pentaho sont décrites à la page suivante.

Notez qu'à partir de novembre 2019, les outils Pentaho version 8.x ne fonctionneront pas directement avec les nouveaux pilotes MySQL Connector version 8.x. La solution la plus simple consiste à utiliser les pilotes du connecteur MySQL 5.x. Une solution de contournement consiste à utiliser les pilotes MySQL version 8.x mais à utiliser une connexion générique. Une discussion peut être trouvée sur ce lien. Une autre astuce consiste à installer le plug-in PDI MySql depuis le Pentaho Marketplace dans Pentaho Data Integration.

Copier les fichiers du pilote JDBC dans les dossiers Pentaho BA Server et Data Integration Lib

Localisez le fichier mysql-connector-java-5.1.41-bin.jar (notez qu'il peut avoir un nom légèrement différent selon la version).

Copiez ce fichier .jar dans le dossier LIB approprié de la distribution Pentaho Community Edition.

Pour Pentaho Data Integration, le dossier cible doit être .\Pentaho\data-integration\lib comme indiqué ci-dessous :

Le Pentaho BA Server stocke ses pilotes dans le dossier .\pentaho-server\tomcat\lib. Assurez-vous qu'un pilote MySQL JDBC n'est pas déjà installé. Si tel est le cas, ne conservez que la copie la plus récente du fichier .jar. Par exemple, la version 7.0 de Pentaho Server inclut la version du pilote MySQL JDBC mysql-connector-java-5.1.17. Cependant, cette version contient quelques bogues, assurez-vous donc de supprimer ce fichier mysql-connector-java-5.1.17.jar et de le remplacer par le fichier mysql-connector-java-5.1.41-bin.jar le plus récent.

Maintenant que les pilotes JDBC ont été copiés dans les dossiers appropriés, redémarrez le Pentaho BA Server (start-pentaho) et lancez les outils d'intégration de données (Spoon). Les instructions sur la création d'une connexion à une base de données dans les outils d'intégration de données Pentaho sont fournies à la page suivante.

Configuration d'une connexion MySQL dans Pentaho Data Integration

Suivez cet ensemble d'étapes pour créer une nouvelle connexion de base de données à MySQL à partir des outils d'intégration de données Pentaho. Dans Pentaho Data Integration, de nombreuses étapes de transformation envoient les données à une table de base de données. Quelques exemples peuvent être trouvés dans ce tutoriel sur Pentaho Data Integration.

Avant de commencer, vous aurez besoin d'identifiants de connexion à une instance MySQL. Vous voudrez peut-être visiter mon tutoriel sur la configuration d'une instance MySQL gratuite sur GearHost ou ce tutoriel sur l'installation de MySQL sur Windows.

Dans Pentaho Data Integration, choisissez n'importe quelle étape de transformation qui utilise une base de données comme sortie, telle qu'une étape de recherche/mise à jour de dimension, d'insertion/mise à jour ou de sortie de table. Cliquez sur Nouveau à côté du nom de la connexion pour afficher la boîte de dialogue Connexion à la base de données, comme illustré ci-dessous.

Donnez un nom à la connexion, puis sélectionnez MySQL comme type de connexion.

Indiquez le nom d'hôte du serveur exécutant MySQL. Si MySQL est installé sur votre PC ou serveur local, utilisez localhost comme nom d'hôte . Indiquez le nom de la base de données et utilisez le numéro de port par défaut de 3306. Enfin, donnez à la base de données MySQL Nom d'utilisateur et Mot de passe .

Cliquez sur Tester pour vous assurer que la connexion à la base de données fonctionne correctement.

Si l'erreur suivante apparaît, assurez-vous que le fichier .jar du pilote MySQL JDBC a été copié dans Pentaho Data Integration lib dossier (comme indiqué sur la page précédente de ce didacticiel). Quittez l'outil d'intégration de données et exécutez-le à nouveau.

Error connecting to database [MySQLConnetion] :
     org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database
Driver class 'org.gjt.mm.mysql.Driver' could not be found, 
make sure the 'MySQL' driver (jar file) is installed.

Notez qu'à partir de novembre 2019, les outils Pentaho version 8.x ne fonctionneront pas directement avec les nouveaux pilotes MySQL Connector version 8.x. La solution la plus simple consiste à utiliser les pilotes du connecteur MySQL 5.x. Une solution de contournement consiste à utiliser les pilotes MySQL version 8.x mais à utiliser une connexion générique. Une discussion peut être trouvée sur ce lien. Une autre astuce consiste à installer le plug-in PDI MySql depuis le Pentaho Marketplace dans Pentaho Data Integration.

Assurez-vous de définir le schéma cible dans toutes les étapes de sortie de base de données ou de recherche de dimension. Dans MySQL, le schéma peut être laissé vide pour utiliser la base de données MySQL par défaut.

Si vous vous étiez entraîné à exécuter la transformation sur la base de données H2 en tant que cible, vous aviez l'habitude de rendre PUBLIC le schéma cible. pour MySQL, laissez simplement le schéma cible vide afin que la valeur par défaut soit utilisée.

La page suivante explique comment configurer une nouvelle connexion à la base de données et une source de données Mondrian dans Pentaho BA Server.

Configuration d'une source de données MySQL dans Pentaho BA Server

Depuis la page d'accueil de la console utilisateur Pentaho, cliquez sur Gérer les sources de données pour afficher l'écran Gérer les sources de données. La première étape à partir de ce point sera de créer une nouvelle connexion de base de données à une base de données MySQL.

Cliquez sur l'icône d'engrenage pour ouvrir le menu, puis cliquez sur Nouvelle connexion… élément de menu comme indiqué ci-dessous.

Donnez un nom à la nouvelle connexion à la base de données. Sélectionnez MySQL comme Type de base de données puis cliquez sur l'option Native (JDBC) sous Accès : titre. Remplissez le nom d'hôte , Nom de la base de données , Numéro de port , Nom d'utilisateur , et Mot de passe pour votre base de données MySQL. Si MySQL est installé sur votre PC ou serveur local, utilisez localhost comme nom d'hôte .

Lorsque vous avez terminé, cliquez sur le bleu Test bouton pour tester la connexion à la base de données

S'il y a des erreurs, vérifiez les informations de connexion (nom d'hôte, nom d'utilisateur, mot de passe, etc.) puis répétez le test.

Si vous recevez une erreur concernant les connexions SSL (votre connexion peut expirer après quelques minutes), ajoutez le paramètre useSSL avec la valeur false comme indiqué ci-dessous.

Lorsque vous avez terminé, cliquez sur OK pour enregistrer la nouvelle connexion à la base de données. La nouvelle connexion à la base de données devrait maintenant apparaître dans la liste :

Maintenant que la connexion a été créée et testée, une source de données Mondrian peut être créée. Ces instructions sont fournies à la page suivante.

Création d'une nouvelle source de données dans Pentaho BA Server

Dans Pentaho BA Server, une source de données représente un schéma de base de données multidimensionnelle Mondrian qui se trouve au-dessus d'un magasin de données multidimensionnelles ou d'une base de données relationnelle. La source de données nécessite une connexion à la base de données sous-jacente et un modèle de données Mondrian à construire par-dessus. Le modèle de données de Mondrian se compose de dimensions et de mesures. Les dimensions contiennent des champs empilés dans une hiérarchie. Il est possible d'avoir plusieurs modèles de données différents construits sur la même source de données sous-jacente.

Pour commencer à créer une nouvelle source de données, cliquez sur le bleu Nouvelle source de données bouton. L'assistant de source de données va se lancer.

Saisissez un nouveau nom pour la source de données et sélectionnez la Connexion à la base de données . Choisissez Table(s) de base de données comme Source Taper. Pour cet exemple, nous allons travailler avec un schéma en étoile, nous sélectionnons donc l'option Rapports et analyse .

Cliquez sur Suivant et le serveur Pentaho BA interrogera le schéma de la base de données sous-jacente pour la connexion à la base de données

L'écran suivant de l'assistant présentera une liste des tables trouvées dans le schéma à partir de la connexion à la base de données.

Cliquez sur l'un des tableaux disponibles puis cliquez sur le bouton fléché vers la droite pour le déplacer vers les tableaux sélectionnés côté. Répétez cette opération pour chacune des tables qui seront incluses dans la source de données.

Étant donné que cet exemple utilise une option "Reporting and Analysis", l'une des tables de la base de données devra être sélectionnée comme Table de faits . Une fois ces modifications effectuées, cliquez sur Suivant pour passer à l'étape finale de définition des jointures.

Remarque :Si aucune clé étrangère n'apparaît, assurez-vous que vous travaillez avec le dernier pilote MySQL JDBC car il corrige plusieurs bogues. mysql-connector-java-5.1.17 est une ancienne version livrée avec Pentaho Server 7.0. Si vous mettez à jour le pilote JDBC, assurez-vous de redémarrer le Pentaho BA Server.

Pour chaque paire de tableaux, cliquez sur le Champ clé dans le tableau de gauche et le champ clé associé dans le tableau de droite. Cliquez ensuite sur Créer une jointure lien. Dans l'exemple ci-dessous, une jointure a été créée entre la table sales_fact puis la table customer_dim à l'aide de la clé commune customer_dim_id.

Répétez cette opération pour chaque paire de clés. Dans cet exemple, il y a une table de faits et 5 tables de dimension résultant en la création de 5 jointures. Si vous faites une erreur, mettez en surbrillance la jointure et cliquez sur Supprimer la jointure lien.

Une fois terminé, cliquez sur Terminer bouton.

Cliquez sur OK bouton pour revenir à Gérer les sources de données écran.

Une nouvelle source de données a maintenant été créée avec un modèle de données par défaut. Cependant, ce modèle de données nécessitera quelques modifications. Les instructions sur la modification d'un modèle de données Mondrian sont fournies à la page suivante.

Modifier le modèle de données de Mondrian pour définir des dimensions et des mesures

Mettez en surbrillance la source de données, déroulez l'icône d'engrenage et sélectionnez Modifier . Cela ouvrira l'éditeur de modèle de source de données . Le modèle par défaut copie toutes les colonnes du schéma en tant que dimensions et mesures. Cependant, ce modèle par défaut ne fonctionnera probablement pas car les hiérarchies n'ont pas encore été définies.

Effacer le modèle de données existant

Cliquez sur le bouton ci-dessous pour Effacer le modèle actuel.

Lorsque vous êtes invité à confirmer, cliquez sur Oui pour effacer le modèle

Le modèle sera maintenant effacé et les mesures et dimensions afficheront un avertissement car il n'y a pas de contenu.

Création d'une nouvelle mesure

Créez une nouvelle mesure en faisant glisser et en déposant le fait de vente de la Disponible du côté des Mesures entrée sous Analyse onglet.

Supprimez chacun des ID de dimension et l'ID DE COMMANDE des mesures car ce ne sont pas vraiment des mesures (ce sont les clés étrangères). Cliquez sur Customer dim id puis cliquez sur le bleu X pour le supprimer. Répétez l'opération pour les autres identifiants de dimension.

Création de la dimension CLIENT

Une fois les mesures en place, les dimensions peuvent être créées. Cliquez sur les dimensions entrée, puis cliquez sur Ajouter une dimension comme indiqué ci-dessous.

Nommez cette nouvelle dimension CLIENT (Assurez-vous d'utiliser des noms non pluriels pour les dimensions) et cliquez sur OK bouton.

Le CLIENT dimension sera créée avec une hiérarchie CUSTOMER en dessous :

Ouvrez le Customer Dim dans le panneau Available. Faites glisser le champ COUNTRY_NAME et déposez-le dans la hiérarchie CUSTOMER comme indiqué ci-dessous. Cela peut prendre quelques essais pour le placer au bon endroit.

Le résultat affichera le NOM DU PAYS apparaissant dans la hiérarchie des CLIENTS.

Répétez les étapes ci-dessus pour ajouter STATE_PROVINCE et CITY à la hiérarchie CUSTOMER. Pour chacun des champs de la hiérarchie CUSTOMER, modifiez le type de géographie pour qu'il corresponde. Par exemple, COUNTRY_NAME doit avoir le type géographique "Pays" et STATE_PROVINCE doit avoir le type géographique "État".

Création de la dimension Date

Cliquez sur l'entrée DIMENSIONS, puis cliquez sur Ajouter une dimension bouton. Nommez la nouvelle dimension DATE. Cliquez sur le nom de la dimension DATE et cochez la case "Dimension temporelle" :

Faites glisser et déposez l'année de vente, le trimestre de vente, le nom du mois de vente, le jour de vente de l'année et la date de vente vers la DATE
Hiérarchie . Pour chaque champ, sélectionnez le type de niveau de temps approprié et Format de la colonne source .

La dimension DATE complétée doit ressembler à ceci :

Création de la dimension PRODUIT

Cliquez sur les dimensions entrée, puis cliquez sur Ajouter une dimension bouton. Nommez la nouvelle dimension PRODUIT. Faites glisser et déposez CATEGORY_NAME, SUB_CATEGORY_NAME et PRODUCT_NAME sous la hiérarchie PRODUCT .

Cliquez sur OK pour fermer l'éditeur de modèle de source de données.

Déconnectez-vous de la console utilisateur Pentaho, arrêtez le serveur Pentaho à l'aide du script stop-pentaho, puis redémarrez le serveur Pentaho.

Maintenant que le modèle de données Mondrian a été créé, la nouvelle source de données est prête à être utilisée pour créer des visualisations sur un tableau de bord ou à des fins de création de rapports.

Création d'un graphique simple à l'aide de l'assistant de graphique OLAP

Créez un nouveau tableau de bord (ou modifiez un tableau de bord existant) et utilisez l'assistant OLAP pour créer un nouveau graphique

Vous trouverez ci-dessous la requête MDX générée automatiquement par l'assistant OLAP :

select NON EMPTY({Descendants([CUSTOMER].[All CUSTOMERs] ,[CUSTOMER].[CITY])}) on ROWS, 
 NON EMPTY({Descendants([PRODUCT].[All PRODUCTs] ,[PRODUCT].[SUB CATEGORY NAME])}) on Columns 
 from [Customer_Sales]