使用 SQL 儲存格

本指南說明如何使用 SQL 儲存格,在 Colab Enterprise 筆記本中查詢資料。

總覽

SQL 儲存格是程式碼儲存格,可讓您在 Colab Enterprise 筆記本中撰寫、編輯及執行 SQL 查詢。SQL 儲存格提供 BigQuery 專用的 IPython Magics 替代工作流程。

功能

SQL 儲存格提供下列功能:

  • 支援模擬執行:驗證 SQL 陳述式,並估算查詢處理的位元組數
  • 格式設定:關鍵字檢查和語法醒目顯示
  • BigQuery DataFrame 輸出變數命名:從其他筆記本儲存格中參照輸出變數
  • 變數取代:參照 Python 變數和 SQL 儲存格,支援參數化,並可查詢先前查詢的結果
  • 結果集檢視器:輕量級表格結果集檢視器,可為大型結果集分頁

支援的 SQL 方言和資料來源

  • Colab Enterprise SQL 儲存格支援 GoogleSQL。

  • 您可以對 BigQuery 資料執行 SQL 查詢。

限制

規劃專案時,請注意下列限制:

  • 您可以在單一 SQL 儲存格中執行多個 SQL 陳述式,但只有最後一個 SQL 陳述式的結果會儲存至 DataFrame。

事前準備

  1. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

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

  3. 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

  4. 必要的角色

    如要取得建立 Colab Enterprise 筆記本、在執行階段執行筆記本程式碼,以及在筆記本中使用 BigQuery 資料所需的權限,請要求管理員將專案的下列 IAM 角色授予您:

    如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

    您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

    建立 SQL 儲存格

    如要在 Colab Enterprise 中建立 SQL 儲存格,請按照下列步驟操作:

    1. 前往 Google Cloud 控制台的 Colab Enterprise「我的筆記本」頁面。

      前往「我的筆記本」

    2. 在「Region」(區域) 選單中,選取包含筆記本的區域。

    3. 按一下要開啟的筆記本。如果尚未建立筆記本,請建立筆記本

    4. 在工具列中,如要新增 SQL 儲存格,請按一下「插入程式碼儲存格選項」選單,然後選取「新增 SQL 儲存格」

      系統隨即會在筆記本中新增 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」(執行儲存格) 按鈕。

    查詢輸出內容會自動儲存為 BigQuery DataFrame,名稱與 SQL 儲存格的標題相同。

    與結果集互動

    您可以將結果集當做 BigQuery DataFrame 或 pandas DataFrame 使用。

    您可以使用相同的 SQL 儲存格變數名稱,串連 SQL 陳述式。舉例來說,您可以將結果集產生的 BigQuery DataFrame 括在半形大括號 ({ }) 中,做為後續查詢中的資料表。請參閱下列範例,其中參照了先前查詢的輸出內容,並將其儲存為名為 df 的 DataFrame:

    SELECT * FROM {df};

    後續步驟