この記事は最終更新日から1年以上が経過しています。
BigQueryを簡単に閲覧できる環境が欲しかったのでローカルにdockerでZeppelinを立てて接続してみました。
docker-composeの設定
2017/9/21時点では0.7.2が最新なので以下の設定になります。
version: '3' services: zeppelin_snapshot: image: apache/zeppelin:0.7.2 ports: - "8080:8080" volumes: - $PWD/logs:/logs - $PWD/notebook:/notebook - $PWD/data:/data - $PWD/config:/config environment: ZEPPELIN_LOG_DIR: /logs ZEPPELIN_NOTEBOOK_DIR: /notebook GOOGLE_APPLICATION_CREDENTIALS: /config/credentials.json |
各ディレクトリの役割はこちら。
path | 説明 |
---|---|
/logs | ログのディレクトリ |
/notebook | ノートブックのディレクトリ |
/data | データ用のディレクトリ |
/config | 設定ファイル用のディレクトリ |
Google APIキーを作成
BigQueryをローカルから呼び出すために サービスアカウントキーの作成 から以下の手順でAPIキーを発行します。
(BigQueryのAPIが有効になっていない場合は先に有効化します)
- 「新しいサービスアカウント」を選択
- 「サービスアカウント名」を適当に入力
- 「BigQueryデータ閲覧者」の権限を設定
- キーのタイプは「JSON」形式を選択
ダウンロードしたらリネームして config/credentials.json に置きます。
Apache Zeppelinを起動
docker-compose up |
docker-composeの設定で
8080 で起動するようにしたので、
http://localhost:8080/ にアクセスします。
Zeppelinの画面が表示されたらとりあえず起動は成功です。
次にNotebookを作成してコードを実行してみます。
ScalaやPythonなどがデフォルトで入っていますので特に設定なしですぐ利用できます。
%python from datetime import datetime print(datetime.now()) import sys sys.version_info |
BigQuery用の設定と実行
Zeppelinのインタプリタ設定画面
http://localhost:8080/#/interpreter から
BigQueryの項目の設定を変更します。
- zeppelin.bigquery.project_id:
Credentialsで権限を指定していてもBigQueryの呼び出し時に
このGoogleプロジェクトIDの指定がないとエラーになります。
%bigquery.sql SELECT license, count(*) AS cnt FROM [bigquery-public-data:github_repos.licenses] GROUP BY license ORDER BY cnt DESC |
参考
- Analyzing BigQuery datasets using BigQuery Interpreter for Apache Zeppelin
- BigQuery Interpreter for Apache Zeppelin
この記事を書いた人
最近書いた記事
- 2021.12.10React NativeでWallet風UIを実装する
- 2018.11.19Elasticsearchで簡単な検索とscoreを調整する方法
- 2018.10.05ECSをEC2からFargateに切り替える際の注意点
- 2018.09.12AKB48グループ映像倉庫のWeb版をリリースしました