SQL セルを使用する
このガイドでは、SQL セルを使用して Colab Enterprise ノートブック内からデータをクエリする方法について説明します。
概要
SQL セルは、Colab Enterprise ノートブック内から SQL クエリを記述、編集、実行するためのコードセルです。SQL セルは、BigQuery 用 IPython マジックの代替ワークフローを提供します。
機能
SQL セルには次の機能があります。
- ドライランのサポート: SQL ステートメントの検証と、クエリで処理されるバイト数の概算
- 書式設定: キーワードのリンティングと構文のハイライト表示
- BigQuery DataFrame の出力変数の命名: 他のノートブック セルから出力変数を参照する
- 変数の置換: パラメータ化と、前のクエリの結果をクエリする機能をサポートするために、Python 変数と SQL セルを参照してください。
- 結果セット ビューア: 大規模な結果セットのページネーションを備えた軽量の表形式の結果セット ビューア
サポートされている SQL 言語とデータソース
Colab Enterprise SQL セルは GoogleSQL をサポートしています。
BigQuery データに対して SQL クエリを実行できます。
制限事項
プロジェクトを計画する際は、次の制限事項を考慮してください。
- 1 つの SQL セルで複数の SQL ステートメントを実行できますが、DataFrame に保存されるのは最後の SQL ステートメントの結果のみです。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, Compute Engine, Dataform, and Vertex AI APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, Compute Engine, Dataform, and Vertex AI APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
BigQuery ユーザー(
roles/bigquery.user
) -
Colab Enterprise ユーザー (
roles/aiplatform.colabEnterpriseUser
) -
Google Cloud コンソールで、Colab Enterprise の [マイ ノートブック] ページに移動します。
-
[リージョン] メニューで、ノートブックを含むリージョンを選択します。
-
開きたいノートブックをクリックします。ノートブックをまだ作成していない場合は、ノートブックを作成します。
-
ツールバーで、SQL セルを追加するには、
コードセル オプションを挿入メニューをクリックし、[SQL セルを追加] を選択します。SQL セルがノートブックに追加されます。
-
SQL セルに SQL クエリを入力します。サポートされているステートメントと SQL 言語の概要については、BigQuery での SQL の概要をご覧ください。
式で Python 変数を参照するには、変数名を中かっこ(
{ }
)で囲みます。たとえば、my_threshold
という名前の Python 変数で値を指定した場合、次のようなクエリを使用して結果セットを制限できます。SELECT * FROM my_dataset.my_table WHERE x > {my_threshold};
-
実行する SQL セルの上にポインタを置いて、
[セルを実行] ボタンをクリックします。
必要なロール
Colab Enterprise ノートブックを作成し、ランタイムでノートブックのコードを実行し、ノートブックで BigQuery データを使用するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼します。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
SQL セルを作成する
Colab Enterprise で SQL セルを作成するには、次の操作を行います。
クエリを入力して実行する
クエリの出力は、SQL セルのタイトルと同じ名前の BigQuery DataFrame として自動的に保存されます。
結果セットを操作する
結果セットは、BigQuery DataFrame または pandas DataFrame として操作できます。
同じ SQL セル変数名を使用して SQL ステートメントを連結できます。たとえば、結果セットによって生成された BigQuery DataFrames を、DataFrame 名を中かっこ({ }
)で囲んで、次のクエリのテーブルとして使用できます。次の例をご覧ください。これは、df
という名前の DataFrame として保存された前のクエリの出力を参照しています。
SELECT * FROM {df};