[Vertex AI Workbench] Jupyter ノートブックからBigQueryを実行する3つの方法
furuhonです。
Vetex AI WorkbenchのJupyter ノートブック(jupyter Lab)から、
bigqueryでデータを取得する3つの方法を整理しました。
bigqueryの利用方法 | マネージドノートブック環境 | ユーザー管理のノートブック環境 | |
---|---|---|---|
1 | マジックコマンド %%bigquery |
利用可能 | 利用可能 |
2 | ライブラリ import bigquery |
利用可能 | 利用可能 |
3 | BigQuery Integration |
利用可能 | - |
Google公式ドキュメントの以下の内容をもとに整理しています。
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