Zeppelinをdockerで動かしてBigQueryのデータを閲覧する

BigQuery, docker, Zeppelin

BigQueryを簡単に閲覧できる環境が欲しかったのでローカルにdockerでZeppelinを立てて接続してみました。

docker-composeの設定

2017/9/21時点では0.7.2が最新なので以下の設定になります。

各ディレクトリの役割はこちら。

path 説明
/logs ログのディレクトリ
/notebook ノートブックのディレクトリ
/data データ用のディレクトリ
/config 設定ファイル用のディレクトリ

Google APIキーを作成

BigQueryをローカルから呼び出すために サービスアカウントキーの作成 から以下の手順でAPIキーを発行します。
(BigQueryのAPIが有効になっていない場合は先に有効化します)

  1. 「新しいサービスアカウント」を選択
  2. 「サービスアカウント名」を適当に入力
  3. 「BigQueryデータ閲覧者」の権限を設定
  4. キーのタイプは「JSON」形式を選択

ダウンロードしたらリネームして config/credentials.json に置きます。

Apache Zeppelinを起動

docker-composeの設定で 8080 で起動するようにしたので、
http://localhost:8080/ にアクセスします。

Zeppelinの画面が表示されたらとりあえず起動は成功です。

次にNotebookを作成してコードを実行してみます。
ScalaやPythonなどがデフォルトで入っていますので特に設定なしですぐ利用できます。

BigQuery用の設定と実行

Zeppelinのインタプリタ設定画面 http://localhost:8080/#/interpreter から
BigQueryの項目の設定を変更します。

  • zeppelin.bigquery.project_id:

Credentialsで権限を指定していてもBigQueryの呼び出し時に
このGoogleプロジェクトIDの指定がないとエラーになります。

参考

BigQuery, docker, Zeppelin