🐧

Vertex AI Workbench マネージドノートブックJupyterLab UIからBigQueryへアクセス

2022/12/22に公開

クラウドエースでデータ ML エンジニアをやっている篠田です。
2022 年 4 月 6 日に Google Cloud が提供しているVertex AI Workbenchが一般公開(GA)になりました。
本記事では、Vertex AI WorkbenchマネージドノートブックのJupyterLab UIから、どのような使用感でBigQueryへアクセスできるのかを紹介します。

Workbenchとは

データサイエンスワークフロー全体に特化したJupyterノートブックベースのフルマネージド開発環境です。

環境オプションとして以下2つが用意されています。
・マネージドノートブック(ワークフローの一部としてノートブックを使用する場合向き)
・ユーザー管理のノートブック(環境の大規模なカスタマイズや細かい制御を必要とする場合向き)

両方のノートブックオプションは、JupyterLabが事前にパッケージ化されており、データ分析や機械学習によく使われるパッケージも事前にそろっています。

以下画像はマネージドノートブックのJupyterLab UIです。TensorFlowやPyTorchフレームワークもサポートされています。

UIからBigQueryデータセットへアクセス

マネージドノートブックでは、JupyterLab UIからBigQueryやCloud Storageにアクセスし、データ探索することが可能です。(ユーザー管理のノートブックでは不可)

タブよりBigQuery選択

UI左のタブよりBigQuery(虫眼鏡アイコン)を選択します。

選択をするとBigQuery一般公開データセット①や、このノートブックのプロジェクト名②が表示されます。

また別プロジェクトのデータセットを探索したい場合、
[+]ボタン③をクリックして別プロジェクトを追加することもできます。

データセットの選択

BigQuery一般公開データセット①を選択すると、数百のデータセットが揃っていることがわかります。

テーブルの選択

試しにbaseballデータセットのschedulesテーブルを選択します。
Detailsが表示されます。

またPreviewを選択すると、実データが見れます。(1000件まで)

BigQueryテーブルのデータをクエリ

クエリをしたい場合は、[Open SQL editor]もしくは[Query table]を選択します。

スタンドアロンクエリエディタが開きます。
BigQuery UIと同様に、クエリでエラーが検出された場合、クエリエディタの右上隅にエラーメッセージが表示されます。
クエリが有効な場合は、処理される推定バイト数が表示されます。

クエリを実行する場合、[Submit Query]を選択します。
クエリ実行結果が表示されます。

[Copy code for DataFrame]をクリックすると、
Python用のBigQueryクライアントライブラリをインポートし、ノートブックセルでクエリエディタと同様のクエリを実行し、pandasデータフレームとして出力するコードセグメントをコピーできます。


コピーしたコードをノートブックセルに貼り付け、実行してみます。クエリ結果がpandasデータフレームとして出力されました。

クエリエディタで1回、ノートブックセルで1回と合計2回同様のクエリを実行したことになりますが、2回目はキャッシュが使われているようです。

クエリ履歴

クエリ履歴を表示したい場合、左下にある[Query history]を選択します。

詳細を表示したい場合は、クエリをクリックします。

まとめ

JupyterLab UIからBigQueryデータへアクセスできることで、開発効率が上がりそうに感じました。(JupyterLab UIとBigQuery UIとを頻繁に行き来する手間が省ける為)
一方、クエリをチューニングしたい場合などは、BigQuery UIで行う方が細かい情報(実行の詳細など)を見れて良いかなと感じました。

Discussion