在筆記本中探索查詢結果

您可以在 BigQuery Colab Enterprise 筆記本中使用 SQL 儲存格或程式碼儲存格,探索查詢結果。

在本教學課程中,您將查詢 BigQuery 公開資料集的資料,並在筆記本中探索查詢結果。

目標

  • 在 BigQuery 中建立及執行查詢。
  • 使用 SQL 儲存格和程式碼儲存格,在筆記本中探索查詢結果。

費用

本教學課程使用Google Cloud 公開資料集計畫提供的資料集。這些資料集的儲存空間費用由 Google 支付,Google 也將這些資料集提供給大眾存取。您需要支付資料查詢費用。詳情請參閱 BigQuery 定價

事前準備

  1. 在 Google Cloud 控制台的專案選擇器頁面中,選取或建立 Google Cloud 專案。

    選取或建立專案所需的角色

    • 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您已獲授角色,即可選取任何專案。
    • 建立專案:如要建立專案,您需要具備專案建立者角色 (roles/resourcemanager.projectCreator),其中包含 resourcemanager.projects.create 權限。瞭解如何授予角色

    前往專案選取器

  2. 確認專案已啟用計費功能 Google Cloud

  3. 啟用 BigQuery API。

    啟用 API 時所需的角色

    如要啟用 API,您需要服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色

    啟用 API

    新專案會自動啟用 BigQuery。

設定程式碼資產的預設區域

Google Cloud 專案中的所有新程式碼資產都會使用預設區域。資產建立後,就無法變更區域。

如要設定新程式碼資產的預設區域,請按照下列步驟操作:

  1. 前往「BigQuery」頁面

    前往「BigQuery」

  2. 點選左側窗格中的 「檔案」,開啟檔案瀏覽器:

    按一下「檔案」開啟檔案瀏覽器。

  3. 在專案名稱旁,按一下 「View files panel actions」(查看檔案面板動作) >「Switch code region」(切換程式碼區域)

  4. 選取要設為預設的程式碼區域。

  5. 按一下 [儲存]

如需支援的區域清單,請參閱「BigQuery Studio 位置」。

所需權限

如要建立及執行 Notebook,您必須具備下列 Identity and Access Management (IAM) 角色:

在筆記本中開啟查詢結果

您可以執行 SQL 查詢,然後使用筆記本探索資料。如果您想先修改 BigQuery 中的資料再進行處理,或是只需要資料表中的部分欄位,這個方法就非常實用。

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往「BigQuery」

  2. 點選左側窗格中的 「Explorer」

  3. 前往 bigquery-public-data 專案,按一下 「Toggle node」(切換節點) 展開專案,然後按一下「Datasets」(資料集)。詳細資料窗格會開啟新分頁,顯示專案中的所有資料集清單。

  4. 在「篩選條件」方塊中,選擇「資料集 ID」,然後輸入「ml_datasets」

    「資料集」頁面上的「篩選」欄位

  5. 在「資料集」頁面,依序點選「ml_datasets」>「企鵝」

  6. 按一下「查詢」

  7. 在產生的查詢中加入星號 (*) 以選取欄位,如下列範例所示:

    SELECT * FROM `bigquery-public-data.ml_datasets.penguins` LIMIT 1000;
  8. 按一下「執行」

  9. 在「查詢結果」部分,依序點選「開啟方式」和「Notebook」

準備使用筆記本

連線至執行階段並設定應用程式預設值,準備使用筆記本。

  1. 在筆記本標頭中,按一下「連線」即可連線至預設執行階段

  2. 在「設定」程式碼區塊中,按一下「執行儲存格」

探索資料

  1. 依序點選 「插入程式碼儲存格」 選項 >「新增 SQL 儲存格」

    「插入程式碼儲存格」選單中的「新增 SQL 儲存格」選項

  2. 在 SQL 儲存格中輸入下列查詢:

    SELECT * FROM `bigquery-public-data.ml_datasets.penguins` LIMIT 1000;
    
  3. 按一下 「Run cell」(執行儲存格)

    查詢結果會顯示在 BigQuery DataFrame 中。

  4. 或者,如要使用先前在查詢編輯器中執行的查詢工作,將查詢結果載入 BigQuery DataFrame,請按照下列步驟操作:

    1. 前往「以 DataFrame 形式從 BigQuery 工作載入的結果集」一節。

    2. 在程式碼區塊中,按一下 「Run cell」(執行儲存格)

      查詢結果會顯示在 BigQuery DataFrame 中。

  5. 如要取得資料的描述性指標,請按照下列步驟操作:

    1. 前往「使用 describe() 顯示描述性統計資料」部分。

    2. 在程式碼區塊中,按一下 「Run cell」(執行儲存格)

      結果會顯示在 BigQuery DataFrame 中。

  6. 選用:使用其他 Python 函式或套件探索及分析資料。

下列程式碼範例顯示如何使用 bigframes.pandas 分析資料,以及如何使用 bigframes.ml 從 BigQuery DataFrame 中的 penguins 資料建立線性迴歸模型:

import bigframes.pandas as bpd

# Load data from BigQuery
query_or_table = "bigquery-public-data.ml_datasets.penguins"
bq_df = bpd.read_gbq(query_or_table)

# Inspect one of the columns (or series) of the DataFrame:
bq_df["body_mass_g"]

# Compute the mean of this series:
average_body_mass = bq_df["body_mass_g"].mean()
print(f"average_body_mass: {average_body_mass}")

# Find the heaviest species using the groupby operation to calculate the
# mean body_mass_g:
(
    bq_df["body_mass_g"]
    .groupby(by=bq_df["species"])
    .mean()
    .sort_values(ascending=False)
    .head(10)
)

# Create the Linear Regression model
from bigframes.ml.linear_model import LinearRegression

# Filter down to the data we want to analyze
adelie_data = bq_df[bq_df.species == "Adelie Penguin (Pygoscelis adeliae)"]

# Drop the columns we don't care about
adelie_data = adelie_data.drop(columns=["species"])

# Drop rows with nulls to get our training data
training_data = adelie_data.dropna()

# Pick feature columns and label column
X = training_data[
    [
        "island",
        "culmen_length_mm",
        "culmen_depth_mm",
        "flipper_length_mm",
        "sex",
    ]
]
y = training_data[["body_mass_g"]]

model = LinearRegression(fit_intercept=False)
model.fit(X, y)
model.score(X, y)

清除所用資源

為避免因為本教學課程所用資源,導致系統向 Google Cloud 帳戶收取費用,請刪除含有相關資源的專案,或者保留專案但刪除個別資源。

如要避免付費,最簡單的方法就是刪除您為了本教學課程所建立的 Google Cloud 專案。

  1. 前往 Google Cloud 控制台的「Manage resources」(管理資源) 頁面。

    前往「Manage resources」(管理資源)

  2. 在專案清單中選取要刪除的專案,然後點選「Delete」(刪除)
  3. 在對話方塊中輸入專案 ID,然後按一下 [Shut down] (關閉) 以刪除專案。

後續步驟