BigQuery DataFrames 簡介

BigQuery DataFrames 是一組開放原始碼 Python 程式庫,可讓您使用熟悉的 Python API,充分運用 BigQuery 資料處理功能。BigQuery DataFrames 提供由 BigQuery 引擎驅動的 Pythonic DataFrame,並透過 SQL 轉換將處理作業下推至 BigQuery,實作 pandas 和 scikit-learn API。因此您可以使用 BigQuery 探索及處理 TB 級資料,並訓練機器學習 (ML) 模型,所有作業都可透過 Python API 完成。

如果您熟悉 pandas,可以使用 BigQuery DataFrame 處理 BigQuery 資料,且程式碼變更幅度極小。舉例來說,您可以使用熟悉的 pandas 方法分析 BigQuery 資料表中的資料:

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)
)

BigQuery DataFrames 的優點

BigQuery DataFrames 的功能如下:

  • 透過透明的 SQL 轉換,實作超過 750 個 pandas 和 scikit-learn API,並轉換為 BigQuery 和 BigQuery ML API。
  • 延後執行查詢,以提升效能。
  • 使用使用者定義的 Python 函式擴充資料轉換作業,以便在 Google Cloud中處理資料。這些函式會自動部署為 BigQuery 遠端函式
  • 整合 Vertex AI,可使用 Gemini 模型生成文字。

授權

BigQuery DataFrames 採用 Apache-2.0 授權發布。

BigQuery DataFrames 也包含衍生自下列第三方套件的程式碼:

詳情請參閱 BigQuery DataFrames GitHub 存放區中的 third_party/bigframes_vendored 目錄。

配額與限制

  • BigQuery 配額適用於 BigQuery DataFrames,包括硬體、軟體和網路元件。
  • 支援部分 pandas 和 scikit-learn API。詳情請參閱「支援的 pandas API」。
  • 您必須明確清除自動建立的 Cloud Run 函式,這是工作階段清理作業的一部分。詳情請參閱「支援的 pandas API」。

定價

  • BigQuery DataFrames 是一組開放原始碼 Python 程式庫,可免費下載。
  • BigQuery DataFrames 會使用 BigQuery、Cloud Run functions、Vertex AI 和其他Google Cloud 服務,這些服務會產生各自的費用。
  • 在一般使用期間,BigQuery DataFrames 會將中繼結果等臨時資料儲存在 BigQuery 資料表中。根據預設,這些資料表會保留七天,且系統會向您收取儲存在其中的資料費用。資料表會在您於 bf.options.bigquery.project 選項中指定的 Google Cloud 專案中,於 _anonymous_ 資料集內建立。

後續步驟