[メモ]BigQueryをDataGripから使用する
概要
JDBCDriverを使用してDataGrip経由でBigQueryにクエリを投げられるようにする。
やりかた
- ここから
JDBC 4.2-compatible
を落としてくる(ODBCではないので注意) - DataGripのDriver追加画面(
+
からDriver
を選択)開く - DriverとしてJDBCDriverを追加する(ここの2つ目のgifを参照)
Name
はBigQueryなどの適当なものにするDriver files
に1で落としたzipに含まれるjarをすべて指定するURL templates
にdefault
としてjdbc:bigquery://[{host::https\://www.googleapis.com/bigquery/v2}[:{port::443}]][<;,{:identifier}={:param}>]
をセットするAdvanced
タブを開き、OAuthType
に0
をセットする- ApplyかOKでここまでの変更を保存する
- DataGripのDatasource追加画面(
+
からDatasource
> 追加したDriverを選ぶ)を開く - Datasourceに接続したいBigQueryプロジェクトを追加する(ここの3つ目のgifを参照)
Name
を適当に設定するUser
、Password
、URL
、Driver
はそのまま変更しないAdvanced
タブを開き以下の項目を設定するOAuthPvtKeyPath
にservice accountキーのパスを設定する- gcloudコマンドを使っているなら
${HOME}/.config/gcloud/application_default_credentials.json
が使える
- gcloudコマンドを使っているなら
OAuthServiceAcctEmail
に追加したservice accountのメールアドレスを設定するProjectID *
に接続したいBigQueryのプロジェクトIDを設定する
- ApplyかOKでここまでの変更を保存する
ここまで設定すればMySQLやPostgreのように接続できるはず。
素のままではTimeoutが短すぎる場合は、Datasourceの Advanced
タブから Timeout
に適当な値を設定する。
参考資料
https://blog.jetbrains.com/datagrip/2018/07/10/using-bigquery-from-intellij-based-ide/
2020-07-20