🔍

[Vertex AI Workbench] Jupyter ノートブックからBigQueryを実行する3つの方法

2022/07/22に公開

furuhonです。
Vetex AI WorkbenchのJupyter ノートブック(jupyter Lab)から、
bigqueryでデータを取得する3つの方法を整理しました。

bigqueryの利用方法 マネージドノートブック環境 ユーザー管理のノートブック環境
1 マジックコマンド
%%bigquery
利用可能 利用可能
2 ライブラリ
import bigquery
利用可能 利用可能
3 BigQuery
Integration
利用可能 -

Google公式ドキュメントの以下の内容をもとに整理しています。
https://cloud.google.com/vertex-ai/docs/workbench/managed/bigquery?hl=ja#in-cell
https://cloud.google.com/bigquery/docs/visualize-jupyter?hl=ja

1. マジックコマンド %%bigqueryの利用

Jupyter Notebookのセル内で利用できるマジックコマンド(%%)を使って、bigqueryからデータを取得することができます。

また、%%bigqueryの後にデータフレーム名を指定すれば、pandas DataFrame形式のテーブルとして実行結果を取得できます。

  • ライブラリのインポートなしで、クエリの実行と結果の取得が可能。
  • マネージドノートブック環境でも、ユーザー管理のノートブック環境でも利用可能。
  • さっとデータ確認するには便利。

2. ライブラリ google.cloud.bigqueryの利用

ライブラリを用いてクエリを実行し、bigqueryからデータを取得することができます。
データは、to_dataframe()にて、pandasのDataFrame形式のテーブルとしてdfに代入されます。

  • ライブラリのインポートが必要
  • マネージドノートブック環境でも、ユーザー管理のノートブック環境でも利用可能
  • データの前処理としてしっかり書くならこちらの利用がベター?

3. BigQuery Integrationの利用
(マネージドノートブックのみ)

マネージドノートブックだけの機能として、BigQuery Integrationを利用できる。
(1) ノートブックのセル内にクエリエディタを作成する。
(2) タブ型(スタンドアロン型)としてクエリエディタを開く。

(1)ノートブックのセル内クエリエディタ

セルの右にある[BigQuery Integration]をクリックする。

セルがクエリエディタに変化する。

Submit Queryでクエリを実行すると、実行結果がセル内で参照できる。

Query and load as DataFrameをクリックすると、ライブラリを利用してデータフレームとして結果を取得するコードが自動生成される。

  • マネージドノートブック環境しか利用できない(2022.7)
  • %%bigqueryのようなお手軽間でクエリの実行が可能
  • 実行結果をライブラリを用いてDataFrameで取得するコードを自動生成できる。

(2)スタンドアロンのクエリエディタ

マネージドノートブックでは、[BigQuery]用のペインから、登録されているテーブルの定義などを確認することができます。また、Open SQL editorをクリックすると、新規タブとしてクエリエディタを開くことができます。

クエリエディタでも、クエリの実行が可能です。

まとめ

Vetex AI Workbenchからbigqueryでデータを取得する方法、3種類をまとめました。
BigQuery Integrationはスピーディーなデータ分析ができそうで、とても便利ですね。
ユーザー管理のノートブック環境にも実装してほしいところですが。。期待薄ですかね。

Discussion