sql >> データベース >  >> RDS >> Mysql

PentahoDataIntegrationおよびBAServerツールへのMySQLJDBCドライバーのインストール

    はじめに

    Pentaho DataIntegrationおよびBAServerツールには、さまざまなデータベースドライバーが付属しています。ただし、Community Editionのバージョン7の時点では、Oracle、SQL Server、またはMySQL用のJDBCドライバー(データ統合ツール内)は付属していません。次の手順は、MySQLJDBCドライバーをPentahoに追加する方法の概要を示しています。

    ツールがまだインストールされていない場合は、PentahoBAサーバーとデータ統合ツールのインストールに関する次の手順に従ってください。 Pentahoツールをインストールした後、BAサーバーとデータ統合ソフトウェアをシャットダウンします。

    MYSQLJDBCドライバーの入手

    MySQL用のJDBCドライバーは「Connector/J」と呼ばれます

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

    にアクセスします

    ダウンロードオプションのあるセクションまで下にスクロールします。

    「プラットフォームに依存しない」が選択されていることを確認してください

    Windowsオペレーティングシステムの場合は、ZIPアーカイブをダウンロードします

    Oracle Webサイトアカウントでログインします(または無料で作成します)。または、ダウンロードを開始するをクリックします リンク。

    ZIPファイルをフォルダに保存します:

    ZIPアーカイブを解凍(解凍)します:

    JDBCドライバーをPentahoツールの適切なフォルダーにコピーする手順については、次のページで説明します。

    2019年11月の時点で、Pentahoバージョン8.xツールは新しいMySQLConnectorバージョン8.xドライバーと直接連携しないことに注意してください。最も簡単な解決策は、MySQL5.xコネクタドライバを使用することです。回避策は、MySQLバージョン8.xドライバーを使用することですが、汎用接続を使用します。いくつかの議論はこのリンクで見つけることができます。もう1つのヒントは、PentahoDataIntegrationのPentahoMarketplaceからPDIMySqlプラグインをインストールすることです。

    JDBCDriverファイルをPentahoBAServerおよびDataIntegrationLibフォルダーにコピーする

    mysql-connector-java-5.1.41-bin.jarファイルを見つけます(バージョンによっては名前が少し異なる場合があることに注意してください)。

    この.jarファイルをPentahoCommunityEditionディストリビューションの適切なLIBフォルダーにコピーします。

    Pentaho Data Integrationの場合、ターゲットフォルダーは次のように。\ Pentaho \ data-integration\libである必要があります。

    Pentaho BAサーバーは、そのドライバーを。\ pentaho-server \ tomcat\libフォルダーに保存します。 MySQLJDBCドライバーがまだインストールされていないことを確認してください。その場合は、.jarファイルの最新のコピーのみを保持します。たとえば、Pentaho Serverのバージョン7.0には、MySQLJDBCDriverバージョンmysql-connector-java-5.1.17が含まれています。ただし、このバージョンにはいくつかのバグがあるため、必ずそのmysql-connector-java-5.1.17.jarファイルを削除し、最新のmysql-connector-java-5.1.41-bin.jarファイルに置き換えてください。

    JDBCドライバーが適切なフォルダーにコピーされたので、Pentaho BAサーバーを再起動し(start-pentaho)、データ統合ツールを起動します(Spoon)。 Pentahoデータ統合ツールでデータベース接続を作成する手順は、次のページに記載されています。

    Pentahoデータ統合でのMySQL接続の設定

    この一連の手順に従って、PentahoDataIntegrationツールからMySQLへの新しいデータベース接続を作成します。 Pentaho Data Integrationでは、変換ステップの多くがデータをデータベーステーブルに送信します。いくつかの例は、PentahoDataIntegrationに関するこのチュートリアルにあります。

    開始する前に、MySQLインスタンスへのログイン資格情報が必要です。 GearHostでの無料のMySQLインスタンスの設定に関するチュートリアル、またはWindowsへのMySQLのインストールに関するこのチュートリアルにアクセスすることをお勧めします。

    Pentaho Data Integrationで、ディメンションのルックアップ/更新、挿入/更新、テーブル出力ステップなど、データベースを出力として使用する変換ステップを選択します。 新規をクリックします [接続名]の横にあるボタンをクリックして、以下に示すように[データベース接続]ダイアログボックスを表示します。

    接続に名前を付けてから、 MySQLを選択します 接続タイプとして。

    ホスト名を入力します MySQLを実行しているサーバーのMySQLがローカルPCまたはサーバーにインストールされている場合は、localhostをホスト名として使用します 。 データベース名を入力します デフォルトのポート番号を使用します 最後に、MySQLデータベースにユーザー名を指定します。 およびパスワード

    テストをクリックします ボタンをクリックして、データベース接続が正しく機能していることを確認します。

    次のエラーが表示された場合は、MySQLJDBCドライバーの.jarファイルがPentahoData Integration libにコピーされていることを確認してください。 フォルダ(このチュートリアルの前のページで説明したように)。データ統合ツールを終了して、再度実行してください。

    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.
    
    

    2019年11月の時点で、Pentahoバージョン8.xツールは新しいMySQLConnectorバージョン8.xドライバーと直接連携しないことに注意してください。最も簡単な解決策は、MySQL5.xコネクタドライバを使用することです。回避策は、MySQLバージョン8.xドライバーを使用することですが、汎用接続を使用します。いくつかの議論はこのリンクで見つけることができます。もう1つのヒントは、PentahoDataIntegrationのPentahoMarketplaceからPDIMySqlプラグインをインストールすることです。

    データベース出力またはディメンションルックアップステップでは、必ずターゲットスキーマを設定してください。 MySQLでは、デフォルトのMySQLデータベースを使用するために、スキーマを空白のままにすることができます。

    H2データベースをターゲットとして変換を実行する練習をした場合は、PUBLICをターゲットスキーマにするために使用しました。 MySQLの場合、デフォルトが使用されるように、ターゲットスキーマを空白のままにします。

    次のページでは、PentahoBAサーバーで新しいデータベース接続とMondrianデータソースを設定する方法について説明します。

    PentahoBAサーバーでのMySQLデータソースの設定

    Pentahoユーザーコンソールのホームページで、データソースの管理をクリックします。 ボタンをクリックして、[データソースの管理]画面を表示します。この時点からの最初のステップは、MySQLデータベースへの新しいデータベース接続を作成することです。

    歯車のアイコンをクリックしてメニューを開き、新しい接続…をクリックします。 以下に示すメニュー項目。

    新しいデータベース接続の名前を指定します。 データベースタイプとしてMySQLを選択します 次に、[アクセス:]の下の[ネイティブ(JDBC)]オプションをクリックします。 見出し。 ホスト名を入力します 、データベース名ポート番号ユーザー名 、およびパスワード MySQLデータベース用。 MySQLがローカルPCまたはサーバーにインストールされている場合は、localhostをホスト名として使用します 。

    完了したら、青いテストをクリックします データベース接続をテストするためのボタン

    エラーがある場合は、接続情報(ホスト名、ユーザー名、パスワードなど)を確認してから、テストを繰り返してください。

    SSL接続に関するエラーが発生した場合(数分後に接続がタイムアウトする場合があります)、以下に示すように、値falseを指定してuseSSLパラメーターを追加します。

    終了したら、 OKをクリックします ボタンをクリックして、新しいデータベース接続を保存します。これで、新しいデータベース接続がリストに表示されます。

    接続が作成およびテストされたので、Mondrianデータソースを作成できます。これらの手順は次のページに記載されています。

    PentahoBAサーバーでの新しいデータソースの作成

    Pentaho BAサーバーでは、データソースは、多次元データストアまたはリレーショナルデータベースのいずれかの上にあるMondrian多次元データベーススキーマを表します。データソースには、基盤となるデータベースへの接続と、その上に構築されるMondrianデータモデルが必要です。モンドリアンデータモデルは、ディメンションとメジャーで構成されています。ディメンションには、階層にスタックされたフィールドが含まれています。同じ基盤となるデータソースの上に構築された複数の異なるデータモデルを持つことができます。

    新しいデータソースの作成を開始するには、青い新しいデータソースをクリックします。 ボタン。データソースウィザードが起動します。

    データソースの新しい名前を入力します データベース接続を選択します 。 ソースとしてデータベーステーブルを選択します タイプ。この例では、スタースキーマを使用するため、レポートと分析のオプションを選択します。 。

    次へをクリックします ボタンを押すと、PentahoBAサーバーがデータベース接続の基盤となるデータベースのスキーマを照会します

    ウィザードの次の画面には、データベース接続のスキーマで見つかったテーブルのリストが表示されます。

    利用可能なテーブルの1つをクリックします 次に、右矢印ボタンをクリックして、選択したテーブルに移動します。 側。データソースに含まれるテーブルごとにこれを繰り返します。

    この例では「レポートと分析」オプションを使用しているため、データベーステーブルの1つをファクトテーブルとして選択する必要があります。 。これらの変更が行われたら、次へをクリックします ボタンをクリックして、結合を定義する最後のステップに移動します。

    注:外部キーが表示されない場合は、最新のMySQL JDBCドライバーを使用していることを確認してください。これにより、いくつかのバグが修正されます。 mysql-connector-java-5.1.17は、PentahoServer7.0に同梱されている古いバージョンです。 JDBCドライバーを更新する場合は、必ずPentahoBAサーバーを再起動してください。

    テーブルのペアごとに、キーフィールドをクリックします 左側の表と関連するキーフィールド 右の表にあります。次に、参加の作成をクリックします リンク。以下の例では、共通キーcustomer_dim_idを使用してsales_factテーブルとcustomer_dimテーブルの間に結合が作成されました。

    キーのペアごとにこれを繰り返します。この例では、1つのファクトテーブルと5つのディメンションテーブルがあり、5つの結合が作成されます。間違えた場合は、参加を強調表示して、参加の削除をクリックしてください。 リンク。

    完了したら、完了をクリックします ボタン。

    OKをクリックします ボタンをクリックしてデータソースの管理に戻ります 画面。

    これで、デフォルトのデータモデルを使用して新しいデータソースが作成されました。ただし、このデータモデルには編集が必要です。モンドリアンデータモデルの編集手順は、次のページに記載されています。

    モンドリアンデータモデルを編集して、ディメンションとメジャーを定義します

    データソースを強調表示し、歯車のアイコンをプルダウンして、編集を選択します 。これにより、データソースモデルエディタが開きます 。デフォルトのモデルは、スキーマのすべての列をディメンションとメジャーとしてコピーします。ただし、階層がまだ定義されていないため、このデフォルトモデルは機能しない可能性があります。

    既存のデータモデルのクリア

    下に表示されているボタンをクリックして、クリアします 現在のモデル。

    確認を求められたら、[はい]をクリックします モデルをクリアするには

    これでモデルがクリアされ、コンテンツがないため、メジャーとディメンションに警告が表示されます。

    新しいメジャーの作成

    セールスファクトをドラッグアンドドロップして、新しいメジャーを作成します 利用可能から 対策に寄り添う 分析の下のエントリ タブ。

    これらは実際にはメジャーではないため(これらは外部キーです)、メジャーから各ディメンションIDとORDERIDを削除します。 Customer dim idをクリックしてから、青い Xをクリックします。 それを削除します。他のディメンションIDについても繰り返します。

    顧客ディメンションの作成

    メジャーを配置すると、ディメンションを作成できます。 寸法をクリックします エントリをクリックし、ディメンションの追加をクリックします 下図のようなボタン。

    この新しいディメンションにCUSTOMERという名前を付け(ディメンションには複数形以外の名前を使用してください)、 OKをクリックします。 ボタン。

    顧客 ディメンションは、その下に顧客階層を使用して作成されます:

    [利用可能]パネルで[顧客の薄暗い]を開きます。 COUNTRY_NAMEフィールドをドラッグして、CUSTOMER Hierarchyにドロップします。 以下に示すように。これを適切な場所に配置するには、数回の試行が必要になる場合があります。

    結果には、顧客階層内に表示される国名が表示されます。

    上記の手順を繰り返して、STATE_PROVINCEとCITYをCUSTOMER階層に追加します。 CUSTOMER Hierarchyの各フィールドについて、地理タイプを一致するように変更します。たとえば、COUNTRY_NAMEの地理タイプは「Country」で、STATE_PROVINCEの地理タイプは「State」である必要があります。

    日付ディメンションの作成

    DIMENSIONSエントリをクリックしてから、寸法の追加をクリックします。 ボタン。新しいディメンションにDATEという名前を付けます。 DATEディメンションの名前をクリックし、[時間ディメンション]のチェックボックスをオンにします。

    販売年、販売四半期、販売月名、販売日、販売日を日付にドラッグアンドドロップします
    階層 。フィールドごとに、適切な時間レベルタイプを選択します およびソース列の形式

    完成したDATEディメンションは次のようになります。

    製品ディメンションの作成

    寸法をクリックします エントリをクリックし、ディメンションの追加をクリックします ボタン。新しいディメンションにPRODUCTという名前を付けます。 CATEGORY_NAME、SUB_CATEGORY_NAME、およびPRODUCT_NAMEをPRODUCT階層の下にドラッグアンドドロップします。 。

    OKをクリックします ボタンをクリックして、データソースモデルエディタを閉じます。

    Pentahoユーザーコンソールからログアウトし、stop-pentahoスクリプトを使用してPentahoサーバーをシャットダウンしてから、Pentahoサーバーを再起動します。

    Mondrianデータモデルが作成されたので、新しいデータソースを使用して、ダッシュボードで視覚化を作成したり、レポートを作成したりすることができます。

    OLAPチャートウィザードを使用した簡単なチャートの作成

    新しいダッシュボードを作成し(または既存のダッシュボードを編集し)、OLAPウィザードを使用して新しいグラフを作成します

    以下は、OLAPウィザードによって自動的に生成されるMDXクエリです。

    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]
    
    

    1. Python mysqlクエリから%をエスケープするにはどうすればよいですか?

    2. SQL ServerのDECIMALとNUMERICに違いはありますか?

    3. スタートレックの3Dチェスデータモデル

    4. GroupingError:エラー:列はGROUP BY句に表示されるか、集計関数で使用される必要があります