目的
- BigQueryのデータをPentaho Data Integration(PDI)で取り込む
- Google アナリティクスプレミアム(GAP)によるBigQueryエクスポートを想定しているが、他の用途にも応用できる(と思う)。
参考
- BigQuery エクスポート - アナリティクス ヘルプ
- Google BigQuery - Pentaho Data Integration - Pentaho Wiki
- JDBCURL - starschema-bigquery-jdbc - JDBC URL settings - Starschema BigQuery JDBC Driver - Google Project Hosting
- Python - GAE SDKのdev_appserverで、サービスアカウントのP12キーを使う - Qiita
作業手順
GAP - BigQueryエクスポートのテスト環境を構築
下記に従ってBigQueryプロジェクトを作成し、GAのサンプルデータを準備する
- BigQuery サンプル データセットを利用する - アナリティクス ヘルプ
認証情報の準備
Google Developer Consoleにてサービスアカウントを作成して認証ファイルをダウンロードしておく
-- JDBCURL - starschema-bigquery-jdbc - JDBC URL settings - Starschema BigQuery JDBC Driver - Google Project Hosting
PDIコミュニティ版のダウンロード
- 事前にJavaをインストールしておく。
- Data Integration | Pentaho Communityからプラットフォームにあったバージョンをダウンロードして解凍
追加クラスのインストール
ダウンロードページから次のファイルをダウンロード
bqjdbc-1.4-standalone.jar
- PDIのlibディレクトリに入れる(libextだと動かなかった)
dependencies_for_kettle.zip
- 解凍したファイルをPDIの「data-integration\libswt\win32(もしくはwin64)」に入れる
データコネクションの準備
新しいデータソースの追加
コネクションを新規作成
データベース接続の設定
フィールド | 設定値 |
---|---|
接続名 | 任意 |
接続タイプ | Generic database |
Custom Connection URL | jdbc:BQDriver:<<プロジェクトIDをURLデコード>>?withServiceAccount=true |
Custom Driver Class name | net.starschema.clouddb.jdbc.BQDriver |
ユーザ名 | サービスアカウントのメールアドレス(クライアントIDではない) |
パスワード | ダウンロードしたキーファイルへのパス(日本語を含まない方が吉) |
クエリーの実行
- データを取得したいSQLを指定してプレビューを実行