SQL セルを使用する

このガイドでは、SQL セルを使用して Colab Enterprise ノートブック内からデータをクエリする方法について説明します。

概要

SQL セルは、Colab Enterprise ノートブック内から SQL クエリを記述、編集、実行するためのコードセルです。 SQL セルは、BigQuery の IPython マジックの代替ワークフローを提供します

機能

SQL セルには次の機能があります。

  • ドライランのサポート: SQL ステートメントの検証と、 クエリで処理されるバイト数の概算
  • フォーマット: キーワードの lint チェックと構文のハイライト表示
  • BigQuery DataFrame の出力変数名の命名: 他のノートブック セルから 出力変数を参照する
  • 変数の置換: Python 変数と SQL セルを参照して、 パラメータ化と前のクエリの結果をクエリする機能を サポートする
  • 結果セット ビューア: 大規模な結果セットの ページネーションを備えた軽量の表形式の結果セット ビューア
  • 可視化セルの統合: SQL セルの出力は、 入力として可視化セルに使用できる

サポートされている SQL 言語とデータソース

  • Colab Enterprise SQL セルは GoogleSQL をサポートしています。

  • BigQuery データに対して SQL クエリを実行できます。

制限事項

プロジェクトを計画する際は、次の制限事項を考慮してください。

  • 1 つの SQL セルで複数の SQL ステートメントを実行できますが、DataFrame に保存されるのは最後の SQL ステートメントの結果のみです。

始める前に

  1. アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

必要なロール

Colab Enterprise ノートブックを作成し、ランタイムでノートブックのコードを実行して、ノートブックで BigQuery データを使用するために必要な権限を取得するには、 プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

SQL セルを作成する

Colab Enterprise で SQL セルを作成するには、次の操作を行います。

  1. コンソールで、Colab Enterprise の [マイ ノートブック] ページに移動します。 Google Cloud

    [マイ ノートブック] に移動

  2. [リージョン] メニューで、ノートブックを含むリージョンを選択します。

  3. 開きたいノートブックをクリックします。ノートブックをまだ作成していない場合は、 ノートブックを作成します

  4. ツールバーで、SQL セルを追加するには、  [Insert code cell options] メニューをクリックし、[Add SQL cell] を選択します。

    SQL セルがノートブックに追加されます。

クエリを入力して実行する

  1. SQL セルに SQL クエリを入力します。サポートされているステートメントと SQL 言語の概要については、BigQuery での SQL の概要をご覧ください。

    式で Python 変数を参照するには、変数名を中かっこ({ })で囲みます。たとえば、my_threshold という名前の Python 変数に値を指定した場合は、次のようなクエリで結果セットを制限できます。

    SELECT * FROM my_dataset.my_table WHERE x > {my_threshold};
        
  2. 実行する SQL セルの上にポインタを置いて、 [Run cell] ボタンをクリックします。

クエリの出力は、SQL セルのタイトルと同じ名前の BigQuery DataFrame として自動的に保存されます。

結果セットを操作する

結果セットは、BigQuery DataFrame または pandas DataFrame として操作できます。

同じ SQL セル変数名を使用して SQL ステートメントを連結できます。たとえば、DataFrame 名を中かっこ({ })で囲むことで、結果セットによって生成された BigQuery DataFrames を後続のクエリのテーブルとして使用できます。DataFrame 名 df として保存された前のクエリの出力を参照する次の例をご覧ください。

SELECT * FROM {df};

次のステップ