[メモ]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