この記事では、presto-jdbc driverを使用して、Pentaho Data IntegrationでTreasure Dataを使用する方法を説明します。Treasure DataとPentahoを組み合わせることで、ユーザーは既存のPentaho Data Integration環境を拡張して、膨大な量のデータを処理できます。
- Treasure Dataの基本知識
以下のリンクからPentaho Data Integration(Kettle)をダウンロードできます。この記事ではバージョン8.2がテストされました
以下のリンクからドライバーをダウンロードできます。ドライバーはまだベータ版です。フィードバックをお待ちしております。
Pentahoで動作するには、td-jdbc-VERSION-jar-with-dependencies.jarファイルを使用する必要があります。
Treasure Data JDBDドライバーは非推奨です。
Pentaho Data Integrationを起動する前に、Treasure Data JDBCドライバーをPentaho Data Integrationで指定されたlibディレクトリにコピーしてください。
$ cp td-jdbc-VERSION-jar-with-dependencies.jar \
pentaho-data-integration-install/data-integration/libTreasure DataをPentaho Data Integrationのデータベース接続に接続し、新しいトランスフォーメーションを作成します。以下の手順に従ってください。
- Pentaho DIアプリケーションを開きます。
2. File > New > Transformationを選択します

Tools > Wizard > Create database connectionに移動します。

ポップアップダイアログで詳細を編集します。
データベース接続に名前を付けます
type of databaseにGeneric Databaseを選択します
type of database accessにNative (JDBC)を選択します

接続のURL(APIエンドポイントを参照)とドライバークラスの名前を指定します。
- Driver classはcom.treasuredata.jdbc.TreasureDataDriverです
URLは以下のいずれかの方法で指定できます:jdbc:td://api.treasuredata.com/<db\_name>- SSLを強制する場合は
jdbc:td://api.treasuredata.com/<db\_name>;useSSL=Trueを使用します - パラメータでクエリエンジンHiveまたはPresto(デフォルト)を選択できます
- jdbc:td://api.treasuredata.com/sample_db;useSSL=true;type=hive
- jdbc:td://api.treasuredata.com/sample_db;useSSL=true;type=presto
ユーザー名とパスワードを指定します。これらのフィールドにはTreasure Dataの資格情報を使用します(ユーザー名はTreasure Dataに登録するために使用したメールアドレスです)。
- Test database connectionを選択します。

- トランスフォームのInputメニューからTable Inputを選択します。
- 次のようにワークスペースにドラッグアンドドロップします:

- ワークスペースのTable inputアイコンを右クリックします。
- コンテキストメニューからEditを選択します。
- 次のようにTable inputを設定します:

前述のクエリは、JasperSoft iReport with JDBC Driverの記事でレビューされています。
Table inputの動作を確認するには、Treasure Data上のデータを次のようにJSON出力に送信します:

'start-pentaho.bat'または'start-pentaho.sh'を確認し、CATALINA_OPTSオプションに以下のパラメータを追加します:
CATALINA_OPTS="-Dhttp.proxyHost=proxy address -Dhttp.proxyPort=proxy port"