Skip to content
Last updated

Jaspersoft Ireport Export Integration

この記事では、JDBCドライバーを活用して、Treasure DataをJasperSoft iReportと連携する方法について説明します。Treasure DataとJasperSoftを組み合わせることで、既存のJasperSoftインスタンスを使い続けながら、クラウド上でテラバイト規模のデータを処理できます。

前提条件

  • Treasure Dataの基本的な知識。
  • Schemaの記事では、TDスキーマを操作する方法について説明しています。

JasperSoft + Treasure Dataのセットアップに時間がない場合はセットアップコンサルテーションサービスをご活用ください。

JasperSoft iReportのダウンロード

JasperSoft iReportは以下のリンクからダウンロードできます。この記事ではバージョン4.6.0を使用しました。

Treasure Data JDBCドライバーのダウンロード

ドライバー本体は以下のリンクからダウンロードできます。このドライバーはまだベータ版です。フィードバックをお待ちしております。

このドライバーはTreasure Dataでのみ動作します。ローカルのHadoop/Hiveクラスターなど、他の環境では実行できません。

データソースとしてTreasure Dataを追加

JasperのデータソースとしてTreasure Dataを追加するには、以下の手順に従ってください。

JDBC DriverのJarをClasspathに追加

Preferences -> iReport Tab -> Classpathに移動し、Add Jarボタンを押します。ダウンロードしたJDBCドライバーを選択し、テーブル内のReloadableボックスにチェックを入れます。

新しいデータソースを作成

「Empty datasource」インジケーターの近くにあるデータベースアイコンを押します。タイプ「Database JDBC connection」で新しいデータソースを追加します。

JDBC接続を設定

以下の図に示すようにJDBCパラメーターを設定します。認証情報(メールアドレス + パスワード)を必ず入力してください。

Treasure DataのJDBCドライバーは「JDBC Driver」ドロップダウンには表示されません。ドロップダウンエリアを選択し、com.treasure\_data.jdbc.TreasureDataDriverと入力してください。

レポートの作成

このステップの手順は、JDBCソースを使用したレポート作成と同じです。

まず、File -> New -> Reportに移動してレポートを作成します。データソースが「TreasureData」(またはJDBC接続に付けた名前)に設定されていることを確認してください

ここでは、クエリは以下のようになります。

SELECT code, COUNT(1) AS count FROM apache_log GROUP BY code

このサンプルデータについての注意事項:

  1. このテーブルのデータは、典型的なApacheログから取得されたものです。codeフィールドはHTTPステータスコードに対応しています。基本的に、ステータスコードごとのHTTPリクエスト数をカウントしています。

  2. Treasure Dataには、すぐに使える事前定義されたスキーマがありません。したがって、上記のクエリを動作させるには、codeという名前のフィールドのスキーマを追加する必要があります。

    $ td table:show demo apache_log

残りのセットアップは、他のレポートとまったく同じです。