Skip to content
Last updated

Pentaho Data Import Integration

この記事では、presto-jdbc driverを使用して、Pentaho Data IntegrationでTreasure Dataを使用する方法を説明します。Treasure DataとPentahoを組み合わせることで、ユーザーは既存のPentaho Data Integration環境を拡張して、膨大な量のデータを処理できます。

前提条件

  • Treasure Dataの基本知識

Pentaho Data Integration(Kettle)のダウンロード

以下のリンクからPentaho Data Integration(Kettle)をダウンロードできます。この記事ではバージョン8.2がテストされました

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

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

Pentahoで動作するには、td-jdbc-VERSION-jar-with-dependencies.jarファイルを使用する必要があります。

Treasure Data JDBDドライバーは非推奨です。

JDBCドライバーjarをPentaho Data Integrationにコピー

Pentaho Data Integrationを起動する前に、Treasure Data JDBCドライバーをPentaho Data Integrationで指定されたlibディレクトリにコピーしてください。

$ cp td-jdbc-VERSION-jar-with-dependencies.jar  \
  pentaho-data-integration-install/data-integration/lib

Treasure Dataデータベース接続を作成

Treasure DataをPentaho Data Integrationのデータベース接続に接続し、新しいトランスフォーメーションを作成します。以下の手順に従ってください。

新しいトランスフォームを作成

  1. Pentaho DIアプリケーションを開きます。

2. File > New > Transformationを選択します

新しいデータベース接続を作成

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

  2. ポップアップダイアログで詳細を編集します。

    • データベース接続に名前を付けます

    • type of databaseにGeneric Databaseを選択します

    • type of database accessにNative (JDBC)を選択します

  3. 接続のURL(APIエンドポイントを参照)とドライバークラスの名前を指定します。

    • Driver classはcom.treasuredata.jdbc.TreasureDataDriverです

    URLは以下のいずれかの方法で指定できます:

  4. ユーザー名とパスワードを指定します。これらのフィールドにはTreasure Dataの資格情報を使用します(ユーザー名はTreasure Dataに登録するために使用したメールアドレスです)。

  • Test database connectionを選択します。

Treasure DataデータベースをTable Inputとして使用

Table Inputを指定

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

Table Inputを編集

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

前述のクエリは、JasperSoft iReport with JDBC Driverの記事でレビューされています。

Table Inputを確認

Table inputの動作を確認するには、Treasure Data上のデータを次のようにJSON出力に送信します:

ヒント: プロキシ経由でPentahoを使用するにはどうすればよいですか?

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

CATALINA_OPTS="-Dhttp.proxyHost=proxy address -Dhttp.proxyPort=proxy port"