JReport Designer で Presto ののデータを連携利用

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
JReport Designer で Presto のデータ をもとにチャートとレポートを作成。

CData JDBC Driver for Presto のデータ を使えば、ダッシュボードやレポートから Presto をリレーショナルデータベースのように扱い、使い慣れた SQL クエリで Presto のデータ のライブデータにアクセスできます。この記事では、JReport Designer で Presto のデータ に JDBC データソースとして接続し、Presto のデータ のデータをもとにレポートを作成する方法を説明します。

Presto データ連携について

CData を使用すれば、Trino および Presto SQL エンジンのライブデータへのアクセスと統合がこれまでになく簡単になります。お客様は CData の接続機能を以下の目的で利用しています:

  • Trino v345 以降(旧 PrestoSQL)および Presto v0.242 以降(旧 PrestoDB)のデータにアクセスできます。
  • Trino または Presto インスタンスの基盤となるすべてのデータに対して読み取り・書き込みアクセスができます。
  • 最大スループットのための最適化されたクエリ生成。

Presto と Trino により、ユーザーは単一のエンドポイントを通じてさまざまな基盤データソースにアクセスできます。CData の接続と組み合わせることで、ユーザーはインスタンスへの純粋な SQL-92 アクセスを取得し、ビジネスデータをデータウェアハウスに統合したり、Power BI や Tableau などのお気に入りのツールからライブデータに直接簡単にアクセスしたりできます。

多くの場合、CData のライブ接続は、ツールで利用可能なネイティブのインポート機能を上回ります。あるお客様は、レポートに必要なデータセットのサイズが大きいため、Power BI を効果的に使用できませんでした。同社が CData Power BI Connector for Presto を導入したところ、DirectQuery 接続モードを使用してリアルタイムでレポートを生成できるようになりました。


はじめに


Presto ののデータに接続

  1. C:\JReport\Designer\bin\setenv.bat を編集して、JAR ファイルの場所を ADDCLASSPATH 変数に追加します。
    ...
    set ADDCLASSPATH=%JAVAHOME%\lib\tools.jar;C:\Program Files\CData\CData JDBC Driver for Presto 2016\lib\cdata.jdbc.presto.jar;
    ...
    
  2. File メニューから New、Data Source と進み、新しいデータソースを作成します。
  3. 表示されるダイアログでデータソース名を入力し(例:CData JDBC Driver for Presto)、JDBC を選択して OK をクリックします。
  4. Get JDBC Connection Information ダイアログで、JDBC ドライバーへの接続を設定します。
    • Driver: Driver ボックスにチェックが入っていることを確認し、ドライバーのクラス名を入力します。
      cdata.jdbc.presto.PrestoDriver
    • URL: JDBC URL を入力します。URL は jdbc:presto: から始まり、その後に接続プロパティをセミコロン区切りで記述します。

      Presto への接続には、まずはServer およびPort を接続プロパティとして設定します。それ以外の追加項目は接続方式によって異なります。

      TLS/SSL を有効化するには、UseSSL をTRUE に設定します。

      LDAP で認証

      LDAP で認証するには、次の接続プロパティを設定します:

      • AuthScheme: LDAP に設定。
      • User: LDAP で接続するユーザー名。
      • Password: LDAP で接続するユーザーのパスワード。

      Kerberos 認証

      KERBEROS 認証を使う場合には、以下を設定します:

      • AuthScheme: KERBEROS に設定。
      • KerberosKDC: 接続するユーザーのKerberos Key Distribution Center (KDC) サービス。
      • KerberosRealm: 接続するユーザーのKerberos Realm 。
      • KerberosSPN: Kerberos Domain Controller のService Principal Name。
      • KerberosKeytabFile: Kerberos principals とencrypted keys を含むKeytab file。
      • User: Kerberos のユーザー。
      • Password: Kerberos で認証するユーザーのパスワード。

      組み込みの接続文字列デザイナー

      JDBC URL の構築には、Presto JDBC Driver に組み込まれている接続文字列デザイナーを使用できます。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。

      java -jar cdata.jdbc.presto.jar
      

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

      JDBC URL を設定する際には、Max Rows 接続プロパティの設定も検討してください。これにより返される行数が制限され、レポートやビジュアライゼーションのデザイン時のパフォーマンス向上に役立ちます。

      一般的な JDBC URL は次のとおりです。

      jdbc:presto:Server=127.0.0.1;Port=8080;
    • User: 認証に使用するユーザー名です。通常は空白のままにします。
    • Password: 認証に使用するパスワードです。通常は空白のままにします。
  5. Add Table ダイアログで、レポートに含めるテーブル(または、このデータソースを使用する今後のレポート用のテーブル)を選択し、Add をクリックします。

    テーブルの読み込みが完了したら Done をクリックします。

  6. Catalog Browser で、レポートを作成するためのクエリを作成できます。これはレポート作成前でも作成後でも行えます。データソース(CData JDBC Driver for Presto)を展開()し、Queries を右クリックして Add Query を選択します。
  7. Add Table/View/Query ダイアログで、JDBC URL と Tables を展開()し、クエリで使用するテーブルを選択して OK をクリックします。
  8. Query Editor ダイアログで、含めるカラムを選択するか、SQL ボタンをクリックして独自のクエリを手動で入力します。例えば次のようになります。
    SELECT FirstName, LastName FROM Customer WHERE Id = '123456789'
    

    クエリが構築できたら、OK をクリックして Query Editor ダイアログを閉じます。これで Presto のデータ を新規または既存のレポートに追加する準備が整いました。

    NOTE: クエリが構築できたら、そのクエリをもとに Business View を作成できます。Business View を使用すると、クエリに基づいた Web レポートやライブラリコンポーネントを作成できます。詳しくは、JReport のチュートリアルを参照してください。

Presto ののデータをレポートに追加

これで Presto のデータ を使用したレポートを作成する準備が整いました。

  1. File メニューから New、Page Report と進んで新しいレポートを作成するか、既存のレポートの Chart Wizard を開きます。
  2. Query を選択します(または新規作成します。上記を参照)。
  3. クエリのカラムからチャートの Category と Value を設定し、Finish をクリックします。
  4. レポートの View タブをクリックして、チャートを表示します。

はじめる準備はできましたか?

Presto Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Presto Icon Presto JDBC Driver お問い合わせ

Presto に連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。