Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Installieren von MySQL JDBC-Treibern in Pentaho Data Integration und BA Server-Tools

Einführung

Die Tools Pentaho Data Integration und BA Server werden mit vielen verschiedenen Datenbanktreibern geliefert. Ab Version 7 der Community Edition enthalten sie jedoch keine JDBC-Treiber für Oracle, SQL Server oder MySQL (in Datenintegrationstools). Die folgenden Schritte beschreiben, wie Sie die MySQL-JDBC-Treiber zu Pentaho hinzufügen.

Befolgen Sie diese Anweisungen zur Installation von Pentaho BA Server und Datenintegrationstools, wenn die Tools noch nicht installiert wurden. Fahren Sie nach der Installation der Pentaho-Tools den BA-Server und die Datenintegrationssoftware herunter.

Beziehen der MYSQL JDBC-Treiber

Die JDBC-Treiber für MySQL heißen „Connector/J“

Besuchen Sie:https://dev.mysql.com/downloads/connector/j/

Scrollen Sie nach unten zum Abschnitt mit den Download-Optionen.

Stellen Sie sicher, dass „Plattformunabhängig“ ausgewählt ist

Laden Sie für das Windows-Betriebssystem das ZIP-Archiv herunter

Melden Sie sich mit Ihrem Oracle Website-Konto an (oder erstellen Sie kostenlos eines). Oder klicken Sie auf Starte einfach meinen Download verlinken.

Speichern Sie die ZIP-Datei in einem Ordner:

Entpacken (dekomprimieren) Sie das ZIP-Archiv:

Anweisungen zum Kopieren der JDBC-Treiber in die entsprechenden Ordner in den Pentaho-Tools finden Sie auf der nächsten Seite.

Beachten Sie, dass die Pentaho-Tools der Version 8.x ab November 2019 nicht mehr direkt mit den neueren MySQL Connector-Treibern der Version 8.x funktionieren. Die einfachste Lösung ist die Verwendung der MySQL 5.x Connector-Treiber. Eine Problemumgehung besteht darin, die MySQL-Version 8.x-Treiber zu verwenden, aber eine generische Verbindung zu verwenden. Einige Diskussionen finden Sie unter diesem Link. Ein weiterer Tipp ist die Installation des PDI MySql Plugins vom Pentaho Marketplace in Pentaho Data Integration.

Kopieren der JDBC-Treiberdateien in die Ordner Pentaho BA Server und Data Integration Lib

Suchen Sie die Datei mysql-connector-java-5.1.41-bin.jar (beachten Sie, dass sie je nach Version einen etwas anderen Namen haben kann).

Kopieren Sie diese .jar-Datei in den entsprechenden LIB-Ordner in der Pentaho Community Edition-Distribution.

Für Pentaho Data Integration sollte der Zielordner .\Pentaho\data-integration\lib lauten, wie unten gezeigt:

Der Pentaho BA Server speichert seine Treiber im Ordner .\pentaho-server\tomcat\lib. Stellen Sie sicher, dass noch kein MySQL JDBC-Treiber installiert ist. Bewahren Sie in diesem Fall nur die neueste Kopie der .jar-Datei auf. Beispielsweise enthält Version 7.0 von Pentaho Server die MySQL JDBC-Treiberversion mysql-connector-java-5.1.17. Diese Version weist jedoch einige Fehler auf, entfernen Sie daher unbedingt diese mysql-connector-java-5.1.17.jar-Datei und ersetzen Sie sie durch die neueste mysql-connector-java-5.1.41-bin.jar-Datei.

Nachdem die JDBC-Treiber in die entsprechenden Ordner kopiert wurden, starten Sie den Pentaho BA Server neu (start-pentaho) und starten Sie die Datenintegrationstools (Spoon). Anweisungen zum Erstellen einer Datenbankverbindung in den Pentaho Data Integration Tools finden Sie auf der nächsten Seite.

Einrichten einer MySQL-Verbindung in Pentaho Data Integration

Befolgen Sie diese Schritte, um eine neue Datenbankverbindung zu MySQL aus den Pentaho Data Integration Tools zu erstellen. In Pentaho Data Integration senden viele der Transformationsschritte die Daten an eine Datenbanktabelle. Einige Beispiele finden Sie in diesem Tutorial zu Pentaho Data Integration.

Bevor Sie beginnen, benötigen Sie Anmeldedaten für eine MySQL-Instanz. Vielleicht möchten Sie mein Tutorial zum Einrichten einer kostenlosen MySQL-Instanz auf GearHost oder dieses Tutorial zum Installieren von MySQL unter Windows besuchen.

Wählen Sie in Pentaho Data Integration einen beliebigen Transformationsschritt aus, der eine Datenbank als Ausgabe verwendet, wie z. Klicken Sie auf Neu neben dem Verbindungsnamen, um das unten gezeigte Dialogfeld Datenbankverbindung aufzurufen.

Geben Sie einen Namen für die Verbindung ein und wählen Sie dann MySQL aus als Verbindungstyp.

Geben Sie den Hostnamen an des Servers, auf dem MySQL ausgeführt wird. Wenn Sie MySQL auf Ihrem lokalen PC oder Server installiert haben, verwenden Sie localhost als Hostname . Geben Sie den Datenbanknamen an und verwenden Sie die standardmäßige Portnummer von 3306. Schließlich geben Sie der MySQL-Datenbank Benutzername und Passwort .

Klicken Sie auf Test Schaltfläche, um sicherzustellen, dass die Datenbankverbindung ordnungsgemäß funktioniert.

Wenn der folgende Fehler angezeigt wird, vergewissern Sie sich, dass die .jar-Datei des MySQL-JDBC-Treibers in die lib von Pentaho Data Integration kopiert wurde Ordner (wie auf der vorherigen Seite dieses Tutorials besprochen). Beenden Sie das Datenintegrationstool und führen Sie es erneut aus.

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.

Beachten Sie, dass die Pentaho-Tools der Version 8.x ab November 2019 nicht mehr direkt mit den neueren MySQL Connector-Treibern der Version 8.x funktionieren. Die einfachste Lösung ist die Verwendung der MySQL 5.x Connector-Treiber. Eine Problemumgehung besteht darin, die MySQL-Version 8.x-Treiber zu verwenden, aber eine generische Verbindung zu verwenden. Einige Diskussionen finden Sie unter diesem Link. Ein weiterer Tipp ist die Installation des PDI MySql Plugins vom Pentaho Marketplace in Pentaho Data Integration.

Stellen Sie sicher, dass Sie das Zielschema in allen Datenbankausgabe- oder Dimensionssuchschritten festlegen. In MySQL kann das Schema leer gelassen werden, um die standardmäßige MySQL-Datenbank zu verwenden.

Wenn Sie geübt hatten, Transformationen für die H2-Datenbank als Ziel auszuführen, haben Sie früher PUBLIC zum Zielschema gemacht. für MySQL lassen Sie das Zielschema einfach leer, damit das Standardschema verwendet wird.

Auf der nächsten Seite erfahren Sie, wie Sie eine neue Datenbankverbindung und Mondrian-Datenquelle in Pentaho BA Server einrichten.

Einrichten einer MySQL-Datenquelle in Pentaho BA Server

Klicken Sie auf der Startseite der Pentaho-Benutzerkonsole auf Datenquellen verwalten Schaltfläche, um den Bildschirm „Datenquellen verwalten“ aufzurufen. Der erste Schritt ab diesem Punkt besteht darin, eine neue Datenbankverbindung zu einer MySQL-Datenbank zu erstellen.

Klicken Sie auf das Zahnradsymbol, um das Menü zu öffnen, und klicken Sie dann auf Neue Verbindung… Menüpunkt wie unten gezeigt.

Geben Sie einen Namen für die neue Datenbankverbindung an. Wählen Sie MySQL als Datenbanktyp aus und klicken Sie dann auf die Option Nativ (JDBC) unter Zugriff: Üerschrift. Geben Sie den Hostnamen ein , Datenbankname , Portnummer , Benutzername und Passwort für Ihre MySQL-Datenbank. Wenn MySQL auf Ihrem lokalen PC oder Server installiert ist, verwenden Sie localhost als Hostname .

Wenn Sie fertig sind, klicken Sie auf den blauen Test Schaltfläche zum Testen der Datenbankverbindung

Überprüfen Sie bei Fehlern die Verbindungsinformationen (Hostname, Benutzername, Passwort usw.) und wiederholen Sie dann den Test.

Wenn Sie eine Fehlermeldung bezüglich SSL-Verbindungen erhalten (Ihre Verbindung kann nach einigen Minuten abbrechen), fügen Sie den useSSL-Parameter mit dem Wert false hinzu, wie unten gezeigt.

Wenn Sie fertig sind, klicken Sie auf OK Schaltfläche, um die neue Datenbankverbindung zu speichern. Die neue Datenbankverbindung sollte nun in der Liste erscheinen:

Nachdem die Verbindung hergestellt und getestet wurde, kann eine Mondrian-Datenquelle erstellt werden. Diese Anweisungen finden Sie auf der nächsten Seite.

Erstellen einer neuen Datenquelle in Pentaho BA Server

In Pentaho BA Server stellt eine Datenquelle ein mehrdimensionales Mondrian-Datenbankschema dar, das entweder auf einem mehrdimensionalen Datenspeicher oder einer relationalen Datenbank sitzt. Die Datenquelle erfordert eine Verbindung zur zugrunde liegenden Datenbank und ein darauf zu erstellendes Mondrian-Datenmodell. Das Mondrian-Datenmodell besteht aus Dimensionen und Kennzahlen. Die Dimensionen enthalten Felder, die in einer Hierarchie gestapelt sind. Es ist möglich, mehrere unterschiedliche Datenmodelle zu haben, die auf derselben zugrunde liegenden Datenquelle aufgebaut sind.

Um mit dem Erstellen einer neuen Datenquelle zu beginnen, klicken Sie auf das blaue Symbol Neue Datenquelle Taste. Der Datenquellen-Assistent wird gestartet.

Geben Sie einen neuen Namen für die Datenquelle ein und wählen Sie die Datenbankverbindung aus . Wählen Sie Datenbanktabelle(n) als Quelle aus Typ. In diesem Beispiel arbeiten wir mit einem Sternschema, also wählen wir die Option für Berichterstellung und Analyse .

Klicken Sie auf Weiter klicken und der Pentaho BA-Server fragt das Schema der zugrunde liegenden Datenbank für die Datenbankverbindung ab

Der nächste Bildschirm des Assistenten zeigt eine Liste der Tabellen, die im Schema der Datenbankverbindung gefunden wurden.

Klicken Sie auf eine der Verfügbaren Tabellen und klicken Sie dann auf die rechte Pfeilschaltfläche, um sie in die Ausgewählten Tabellen zu verschieben Seite. Wiederholen Sie dies für jede der Tabellen, die in die Datenquelle aufgenommen werden.

Da in diesem Beispiel die Option „Berichte und Analysen“ verwendet wird, muss eine der Datenbanktabellen als Faktentabelle ausgewählt werden . Sobald diese Änderungen vorgenommen wurden, klicken Sie auf Weiter Schaltfläche, um zum letzten Schritt zum Definieren von Joins zu gelangen.

Hinweis:Wenn keine Fremdschlüssel angezeigt werden, stellen Sie sicher, dass Sie mit dem neuesten MySQL-JDBC-Treiber arbeiten, da dieser mehrere Fehler behebt. mysql-connector-java-5.1.17 ist eine ältere Version, die mit Pentaho Server 7.0 ausgeliefert wird. Wenn Sie den JDBC-Treiber aktualisieren, müssen Sie Pentaho BA Server unbedingt neu starten.

Klicken Sie für jedes Tabellenpaar auf das Schlüsselfeld in der linken Tabelle und dem dazugehörigen Schlüsselfeld in der rechten Tabelle. Klicken Sie dann auf Join erstellen Verknüpfung. Im Beispiel unten wurde ein Join zwischen der sales_fact-Tabelle und der customer_dim-Tabelle unter Verwendung des gemeinsamen Schlüssels customer_dim_id erstellt.

Wiederholen Sie dies für jedes Schlüsselpaar. In diesem Beispiel gibt es eine Faktentabelle und 5 Dimensionstabellen, was zur Erstellung von 5 Joins führt. Wenn Sie einen Fehler machen, markieren Sie den Join und klicken Sie auf Join löschen verlinken.

Wenn Sie fertig sind, klicken Sie auf Fertig stellen Schaltfläche.

Klicken Sie auf OK Schaltfläche, um zu Datenquellen verwalten zurückzukehren Bildschirm.

Eine neue Datenquelle wurde jetzt mit einem Standarddatenmodell erstellt. Dieses Datenmodell muss jedoch bearbeitet werden. Anweisungen zum Bearbeiten eines Mondrian-Datenmodells finden Sie auf der nächsten Seite.

Bearbeiten Sie das Mondrian-Datenmodell, um Dimensionen und Kennzahlen zu definieren

Markieren Sie die Datenquelle, ziehen Sie das Zahnradsymbol herunter und wählen Sie Bearbeiten . Dadurch wird der Datenquellenmodell-Editor geöffnet . Das Standardmodell kopiert alle Spalten aus dem Schema als Dimensionen und Kennzahlen. Dieses Standardmodell wird jedoch wahrscheinlich nicht funktionieren, da Hierarchien noch definiert werden müssen.

Bereinigung des bestehenden Datenmodells

Klicken Sie zum Löschen auf die unten gezeigte Schaltfläche das aktuelle Modell.

Wenn Sie zur Bestätigung aufgefordert werden, klicken Sie auf Ja um das Modell zu löschen

Das Modell wird nun geleert und die Maße und Dimensionen zeigen eine Warnung, da kein Inhalt vorhanden ist.

Eine neue Kennzahl erstellen

Erstellen Sie eine neue Kennzahl, indem Sie den Sales Fact ziehen und ablegen unter Verfügbar Seite zu den Maßnahmen Eintrag unter Analyse Registerkarte.

Entfernen Sie alle Dimensions-IDs und die BESTELL-ID aus den Kennzahlen, da es sich nicht wirklich um Kennzahlen handelt (es handelt sich um Fremdschlüssel). Klicken Sie auf Kundendim-ID und dann auf das blaue X es zu entfernen. Wiederholen Sie dies für die anderen Dimensions-IDs.

Erstellen der KUNDEN-Dimension

Wenn die Maßnahmen vorhanden sind, können die Dimensionen erstellt werden. Klicken Sie auf die Maße Eintrag und klicken Sie dann auf Dimension hinzufügen Schaltfläche wie unten gezeigt.

Benennen Sie diese neue Dimension KUNDE (achten Sie darauf, für die Dimensionen keine Pluralnamen zu verwenden) und klicken Sie auf OK Schaltfläche.

Der KUNDE Dimension wird mit einer KUNDEN-Hierarchie darunter erstellt:

Öffnen Sie das Kunden-Dim im Feld „Verfügbar“. Ziehen Sie das Feld COUNTRY_NAME und legen Sie es auf der Hierarchie CUSTOMER ab Wie nachfolgend dargestellt. Es kann ein paar Versuche dauern, bis dies an der richtigen Stelle ist.

Das Ergebnis zeigt den NAMEN DES LANDES innerhalb der KUNDEN-Hierarchie.

Wiederholen Sie die obigen Schritte, um STATE_PROVINCE und CITY zur CUSTOMER-Hierarchie hinzuzufügen. Ändern Sie für jedes der Felder in der KUNDEN-Hierarchie den Geografietyp entsprechend. Beispielsweise sollte COUNTRY_NAME den geografischen Typ „Land“ und STATE_PROVINCE den geografischen Typ „Staat“ haben.

Datumsdimension erstellen

Klicken Sie auf den Eintrag DIMENSIONEN und dann auf Dimension hinzufügen Taste. Nennen Sie die neue Dimension DATE. Klicken Sie auf den Namen der DATE-Dimension und aktivieren Sie das Kontrollkästchen für „Zeitdimension“:

Ziehen Sie das Verkaufsjahr, das Verkaufsquartal, den Namen des Verkaufsmonats, den Verkaufstag des Jahres und das Verkaufsdatum per Drag &Drop in die DATE
Hierarchie . Wählen Sie für jedes Feld den entsprechenden Zeitebenentyp aus und Quellspaltenformat .

Die fertige DATE-Dimension sollte wie folgt aussehen:

Erstellen der PRODUCT-Dimension

Klicken Sie auf die Maße Eintrag und klicken Sie dann auf Dimension hinzufügen Taste. Benennen Sie die neue Dimension PRODUKT. Ziehen Sie CATEGORY_NAME, SUB_CATEGORY_NAME und PRODUCT_NAME per Drag &Drop unter die PRODUKT-Hierarchie .

Klicken Sie auf OK Schaltfläche, um den Datenquellenmodell-Editor zu schließen.

Melden Sie sich von der Pentaho-Benutzerkonsole ab, fahren Sie den Pentaho-Server mit dem Skript stop-pentaho herunter und starten Sie dann Pentaho Server neu.

Nachdem das Mondrian-Datenmodell erstellt wurde, kann die neue Datenquelle zur Erstellung von Visualisierungen auf einem Dashboard oder zu Berichtszwecken verwendet werden.

Ein einfaches Diagramm mit dem OLAP-Diagrammassistenten erstellen

Erstellen Sie ein neues Dashboard (oder bearbeiten Sie ein vorhandenes Dashboard) und verwenden Sie den OLAP-Assistenten, um ein neues Diagramm zu erstellen

Unten ist die MDX-Abfrage, die automatisch vom OLAP-Assistenten generiert wird:

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]