# Jaspersoft Ireport Export Integration

この記事では、[JDBCドライバー](/tools/cli-and-sdks/jdbc-driver-for-presto)を活用して、Treasure Dataを[JasperSoft iReport](http://jasperforge.org/projects/ireport)と連携する方法について説明します。Treasure DataとJasperSoftを組み合わせることで、既存のJasperSoftインスタンスを使い続けながら、クラウド上でテラバイト規模のデータを処理できます。

# 前提条件

- Treasure Dataの基本的な知識。
- [Schemaの記事](/products/customer-data-platform/data-workbench/databases/schema-management)では、TDスキーマを操作する方法について説明しています。


# 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)