概要
bigquery-magics
を用いることで、以下のようにVSCode上のJupyterノートブックからBigQueryのクエリを実行することができます。
ここでは、この bigquery-magics
の導入手順および使い方を紹介します。
実行環境
- Visual Studio Code
- Python
bigquery-magics
は pip
を用いて以下のコマンドでインストールします。
pip install bigquery-magics
conda
を用いる場合は以下の通りです。
conda install conda-forge::bigquery-magics
初期設定およびクエリの実行
JupyterノートブックをVSCodeで開き、セルに以下を入力し実行します。
# Jupyter用拡張機能の読み込み
%reload_ext bigquery_magics
import bigquery_magics
# BigQueryのプロジェクトIDを指定
bigquery_magics.context.project = "bq-project-012345"
また、マジックコマンド %%bigquery
と実行したいクエリを以下のように入力します。
%%bigquery
SELECT "apple" AS fruit, "carrot" AS vegetable
上記のセルを初めて実行するとURLが表示されるので、クリックしてブラウザでアクセスします。
Googleアカウントへのログインが要求されるので、アカウントを選択します。
問題なければそのままアクセス権を付与します。
ログインおよびアクセス権の付与が完了すると以下のページが表示されるので、 Copy
ボタンを押して認証コードをコピーします。
VSCodeに戻り、URLと同時に表示されていた入力欄にコピーした認証コードを入力します。
アクセスに成功すると、以下のようにクエリ結果が表示されます。
以上でJupyterノートブックからBigQueryのクエリが可能になりました。
クエリ結果をデータフレームとして取得する
以下のようにマジックコマンドのオプションに任意の変数名を指定することで、クエリ結果をデータフレームとして取得することもできます。
%%bigquery df
SELECT "apple" AS fruit, "carrot" AS vegetable
ここでは df
という変数にクエリ結果がDataFrameとして代入されるので、以降のセルで一般的なDataFrameの変数として利用することができます。
display(type(df))
display(df)
非推奨:google.cloud.bigquery
からの呼び出し
マジックコマンドは以下のように google-cloud-bigquery
パッケージからの呼び出しも可能です。
# Jupyter用拡張機能の読み込み
%reload_ext google.cloud.bigquery
from google.cloud.bigquery import magics
# BigQueryのプロジェクトIDを指定
magics.context.project = "bq-project-012345"
しかし、クエリ実行時に表示される以下の警告の通り、現在では google.cloud.bigquery
の使用は非推奨となっており、bigquery_magics
の使用が推奨されています。
FutureWarning: %load_ext google.cloud.bigquery is deprecated. Install bigquery-magics package and use
%load_ext bigquery_magics
, instead.