BigQuery Studio は何者なのか
はじめに
こんにちは、クラウドエース データ ML ディビジョン所属の工藤です。
クラウドエースの IT エンジニアリングを担うシステム開発部の中で、特にデータ基盤構築・分析基盤構築からデータ分析までを含む一貫したデータ課題の解決を専門とするのがデータ ML ディビジョンです。
データ ML ディビジョンでは活動の一環として、毎週 Google Cloud の新規リリースを調査・発表し、データ領域のプロダクトのキャッチアップをしています。その中でも重要と考えるリリースを本ページ含め記事として公開しています。
今回紹介するリリースは、BigQuery Studio です。BigQuery Studio の登場により、BigQuery 上で Python ノートブック環境が使えるようになりました。Duet AI によるコード補完もサポートしていますので、非エンジニアの方もデータ分析しやすい環境が整備されました。なお、この機能はプレビュー段階になります。
BigQuery とは
BigQuery とは、Google Cloud が提供しているデータウェアハウス サービスの一つです。データウェアハウスとは、データ分析に特化したデータベースのことを指します。BigQuery では、SQL クエリを記述することによって、データ分析を実行できます。
今回のリリースについて
今回ご紹介するのは、2023 年 8 月 29 日付に発表されたリリースの一つである BigQuery Studio についてです。
該当リリースノート:BigQuery release notes
BigQuery Studio とは
BigQuery Studio は、従来のデータ分析に関する機能や他プロダクトとの連携機能などに、Python ノートブック環境の利用や Duet AI によるコード補完などの新機能を伴って刷新された、BigQuery の機能の総称です。
なお、BigQuery Studio を利用するには記事執筆時点(2023 年 10 月 30 日)では申し込みが必要ですので、利用を検討されている方はご注意ください。申し込みフォームは、公式ドキュメントからアクセスできます。
BigQuery Studio は、公式ドキュメントによると、以下 7 つの機能で構成されていることがわかります。既に BigQuery にあった機能と新しく追加された機能を整理すると以下のようになります。
- 既に BigQuery にあった機能
- 堅牢な SQL エディタ
- Dataform 上に構築された、ノートブックや保存したクエリなどのコードアセットの管理と変更履歴
- データ検出、データ プロファイリング スキャン、データ品質スキャンのための Dataplex 機能
- ユーザーごとまたはプロジェクトごとにジョブ履歴を表示する機能
- 他ツールとの連携機能
- 新しく追加された機能
- Colab Enterprise を使用して構築された埋め込み Python ノートブック
- Duet AI 上に構築された、SQL エディタとノートブックでのコード開発支援
それぞれの機能を解説します。
堅牢な SQL エディタ
BigQuery を使ったことがある人であれば、この機能はイメージしやすいのではないでしょうか。画像のような SQL エディタを指します。
この SQL エディタでは、クエリの処理バイト数の推定値を表示できたり、後述する Duet AI によるクエリ生成を利用することができます。BigQuery には必要不可欠な機能になります。
Dataform 上に構築された、ノートブックや保存したクエリなどのコードアセットの管理と変更履歴
こちらの機能は、Google Cloud のプロダクトである Dataform によって実現されています。Dataform とは、データ分析者が BigQuery でデータ変換を行うための複雑な SQL ワークフローを開発、テスト、バージョン管理、スケジュール管理するためのプロダクトになります。Dataform は SQLX という SQL の拡張言語を使い、データ変換処理のワークフローを開発することができます。また、SQL やワークフローのコードをバージョン管理することもできます。以下画像は、ワークフローの開発画面になります。
データ検出、データ プロファイリング スキャン、データ品質スキャンのための Dataplex 機能
こちらの機能は、Google Cloud のプロダクトである Dataplex によって実現されています。Dataplex とは、Cloud Storage や BigQuery に分散しているデータを一元管理できたり、データ プロファイリングやデータ品質のスキャンを自動化できるデータファブリック ※1 です。Dataplex を利用することで、BigQuery のテーブルの列に関する統計情報を確認できたり、データが品質要件を満たしているかスキャンすることができます。
※1:データファブリックとは、データを一元的に管理し、アクセス、処理、保存を効率化するための統合的なアーキテクチャを指します。
データ プロファイリングのスキャンを実行したとき、以下画像のようになります。
ユーザーごとまたはプロジェクトごとにジョブ履歴を表示する機能
この機能は BigQuery の利用者は一度は使ったことがあると思いますが、どのテーブルに、誰が、いつ、どんなジョブを実行したか記録されているものになります(画像)。ユーザ単位でもプロジェクト単位でもジョブ履歴は記録されています。ジョブ履歴は、BigQuery コンソールの下部から確認することができます。
他ツールとの連携機能
この機能は、クエリの実行結果を Cloud Storage や Google ドライブにエクスポートできたり、スプレッドシート と BigQuery のテーブルを連携することができる機能です。以下の画像は、クエリの実行結果をエクスポートするときの様子です、
Colab Enterprise を使用して構築された埋め込み Python ノートブック
今回のリリースで BigQuery に大きな変化をもたらしたのは、この機能だと思います。BigQuery に Colab Enterprise ※2 のノートブック環境が埋め込まれ、BigQuery のコンソール上で Python ノートブック環境を使えるようになりました。このノートブック環境には、BigQuery DataFrames ※3 が統合されており、BigQuery のデータを分析するための部品が揃っています。このノートブック環境を使うことで、分析環境を自身で用意せずに BigQuery のデータを分析することができます。
※2:Colab Enterprise とは、Vertex AI に統合されているインフラ管理が不要なノートブック環境です。
※3:BigQuery DataFrames とは、BigQuery 上でデータを分析し機械学習タスクを実行するための API を提供するものです。BigQuery DataFrames は別の記事で紹介しているので、興味があればご覧ください。
ノートブック環境は以下画像のとおりです。
Duet AI 上に構築された、SQL エディタとノートブックでのコード開発支援
Duet AI によるコード補完を、上述した SQL エディタと Python ノートブックで使用することができます。この機能により、SQL と Python に精通していないユーザーでもデータを分析するためのコードを書きやすくなったと言えます。SQL エディタでクエリを生成したとき、以下の画像のようになります。
Duet AI によるクエリ生成は別の記事で紹介していますので、興味がありましたらご覧ください。
料金
BigQuery のストレージ料金とコンピュート料金が発生します。また、Python ノートブック環境を利用する場合と Dataplex を利用する場合は、機能固有の料金も発生します。詳細は以下の公式ドキュメントをご覧ください。
参考資料:Dataplex の料金
参考資料:Colab Enterprise の料金
使ってみた
ここでは BigQuery Studio の中から BigQuery に埋め込まれた Python ノートブックを使い、BigQuery のデータを読み込んでみたいと思います。どのように BigQuery 上で Python ノートブックを使うのかご覧ください。
BigQuery のコンソールを開き、画面上部の逆三角形(赤枠部分)を押下します。
「新しい Python ノートブックを作成」を押下します。
するとサンプルコードが書かれている状態のノートブック環境を作成することができます。
サンプルコードは 2 種類あり、下記の処理を行います。
サンプル | 処理内容 |
---|---|
Example 1 | SQL を使用したデータの読み込み |
Example 2 | BigQuery DataFrames を使用したデータの読み込み |
それぞれのサンプルコードを実行すると、以下のようになります。
[Example 1]
[Example 2]
どちらのサンプルコードも正常にデータを読み込むことができました。
まとめ
今回の記事では、BigQuery Studio についてご紹介しました。
BigQuery 上の Python ノートブックは環境構築に手間をかけずに利用できるので、非エンジニアの方の分析に対するハードルが下がるのではないでしょうか。Python ノートブック以外の BigQuery Studio の機能も使いこなすことで、SQL のコード管理やデータの品質管理などもカバーできます。興味のある方はぜひお試しください。
Discussion