# Jaspersoft Ireport Export Integration この記事では、[JDBCドライバー](https://docs.treasuredata.com/articles/project-product-documentation/jdbc-driver-for-hive-query-engine)を活用して、Treasure Dataを[JasperSoft iReport](http://jasperforge.org/projects/ireport)と連携する方法について説明します。Treasure DataとJasperSoftを組み合わせることで、既存のJasperSoftインスタンスを使い続けながら、クラウド上でテラバイト規模のデータを処理できます。 # 前提条件 - Treasure Dataの基本的な知識。 - [Schemaの記事](https://docs.treasuredata.com/articles/project-product-documentation/schema+Management)では、TDスキーマを操作する方法について説明しています。 JasperSoft + Treasure Dataのセットアップに**時間がない場合は**、[セットアップコンサルテーションサービス](https://docs.treasuredata.com/smart/project-product-documentation/consultation)をご活用ください。 # JasperSoft iReportのダウンロード JasperSoft iReportは以下のリンクからダウンロードできます。この記事ではバージョン4.6.0を使用しました。 - [JasperSoft Community's iReport Designer](http://community.jaspersoft.com/project/ireport-designer) # Treasure Data JDBCドライバーのダウンロード ドライバー本体は以下のリンクからダウンロードできます。このドライバーはまだベータ版です。フィードバックをお待ちしております。 - [JDBC Driver Download](https://mvnrepository.com/artifact/com.treasuredata/td-jdbc) | | | --- | | このドライバーはTreasure Dataでのみ動作します。ローカルのHadoop/Hiveクラスターなど、他の環境では実行できません。 | # データソースとしてTreasure Dataを追加 JasperのデータソースとしてTreasure Dataを追加するには、以下の手順に従ってください。 ## JDBC DriverのJarをClasspathに追加 Preferences -> iReport Tab -> Classpathに移動し、Add Jarボタンを押します。ダウンロードしたJDBCドライバーを選択し、テーブル内のReloadableボックスにチェックを入れます。 ![](/assets/image-20191016-195209.3f52124f98ca0accaea9fa792a9f47508da2a977d80c5388ca5b974da368bfbe.a987c990.png) ## 新しいデータソースを作成 「Empty datasource」インジケーターの近くにあるデータベースアイコンを押します。タイプ「Database JDBC connection」で新しいデータソースを追加します。 ![](/assets/image-20191016-195157.448e5563640a6fba08b4f0d003ac6f98295ecc7d6600c51c8e3b754e5073d436.a987c990.png) ## JDBC接続を設定 以下の図に示すようにJDBCパラメーターを設定します。認証情報(メールアドレス + パスワード)を必ず入力してください。 Treasure DataのJDBCドライバーは「JDBC Driver」ドロップダウンには表示されません。ドロップダウンエリアを選択し、`com.treasure\_data.jdbc.TreasureDataDriver`と入力してください。 ![](/assets/image-20191016-195144.72e4dad52abb5dbc9c22317938c069d1c7db901483643edb76390352d27ad46e.a987c990.png) ### レポートの作成 このステップの手順は、JDBCソースを使用したレポート作成と同じです。 まず、File -> New -> Reportに移動してレポートを作成します。**データソースが「TreasureData」(またはJDBC接続に付けた名前)に設定されていることを確認してください**。 ![](/assets/image-20191016-195126.3e7382ed13dd12c13c83f58f364752d61ebab882ed16c03e3eaa132daeebe8fe.a987c990.png) ここでは、クエリは以下のようになります。 ``` SELECT code, COUNT(1) AS count FROM apache_log GROUP BY code ``` このサンプルデータについての注意事項: 1. このテーブルのデータは、典型的なApacheログから取得されたものです。codeフィールドはHTTPステータスコードに対応しています。基本的に、ステータスコードごとのHTTPリクエスト数をカウントしています。 2. Treasure Dataには、すぐに使える事前定義されたスキーマがありません。したがって、上記のクエリを動作させるには、codeという名前のフィールドのスキーマを追加する必要があります。 ```bash $ td table:show demo apache_log ``` 残りのセットアップは、他のレポートとまったく同じです。 ![](/assets/image-20191016-195112.0ba730a029994724774f7dc566bb0c729d726268009ca2cc267bbdf330d50277.a987c990.png)