外部資料來源簡介

本頁面將概要說明如何查詢儲存在 BigQuery 外部的資料。

「外部資料來源」是指可以直接透過 BigQuery 查詢的資料來源,即使資料未儲存在 BigQuery 儲存空間中也一樣。舉例來說,您可能有資料在其他 Google Cloud 資料庫、Cloud Storage 的檔案或其他雲端產品中,而且想在不遷移資料的狀況下,在 BigQuery 中進行分析。

外部資料來源的用途包括:

  • 對於擷取-載入-轉換 (ELT) 工作負載,使用 CREATE TABLE ... AS SELECT 查詢,即可一次載入並清理資料,然後將清理後的結果寫入 BigQuery 儲存空間。
  • 彙整 BigQuery 資料表與外部資料來源中變動頻繁的資料。直接查詢外部資料來源,您就不需要在每次資料變更時,重新將資料載入至 BigQuery 儲存空間。

外部資料來源表格

外部資料來源資料表與標準 BigQuery 資料表類似,因為這些資料表會將中繼資料和結構定義儲存在 BigQuery 儲存空間中。不過,這些資料位於外部來源。

外部資料來源資料表會包含在資料集中,管理方式與標準 BigQuery 資料表相同。舉例來說,您可以查看資料表的屬性設定存取權控管機制等。您可以查詢這些資料表,而且在大多數情況下,可以將這些資料表與其他資料表彙整。

外部資料來源表可分為三種:

  • BigLake 資料表
  • 物件資料表
  • 外部資料表

BigLake 資料表

BigLake 資料表可讓您透過存取權委派功能,查詢外部資料儲存庫中的結構化資料。存取權委派功能可將 BigLake 資料表的存取權,與基礎資料儲存庫的存取權分開。系統會使用與服務帳戶相關聯的外部連線,連線至資料儲存庫。由於服務帳戶會負責從資料存放區擷取資料,您只需要授予使用者 BigLake 資料表的存取權。這項功能可讓您在資料表層級強制執行精細的安全性,包括資料列層級資料欄層級安全性。如果是以 Cloud Storage 為基礎的 BigLake 資料表,您也可以使用動態資料遮蓋。如要進一步瞭解如何使用 BigLake 資料表和 Amazon S3 或 Blob 儲存體資料,打造多雲端數據分析解決方案,請參閱 BigQuery Omni

詳情請參閱「BigLake 資料表簡介」。

物件資料表

您可以使用物件資料表分析 Cloud Storage 中的非結構化資料。您可以使用遠端函式執行分析,或使用 BigQuery ML 執行推論,然後將這些作業的結果與 BigQuery 中的其餘結構化資料彙整。

與 BigLake 資料表類似,物件資料表會使用存取權委派,將物件資料表的存取權與 Cloud Storage 物件的存取權分開。與服務帳戶相關聯的外部連線會用於連線至 Cloud Storage,因此您只需要授予使用者物件資料表的存取權。這項功能可讓您強制執行資料列層級安全防護機制,並管理使用者可存取的物件。

詳情請參閱物件資料表簡介

外部資料表

外部資料表可讓您查詢外部資料存放區中的結構化資料。如要查詢外部資料表,您必須同時擁有外部資料表和外部資料來源的權限。舉例來說,如要查詢使用 Cloud Storage 中資料來源的外部資料表,您必須具備下列權限:

  • bigquery.tables.getData
  • bigquery.jobs.create
  • storage.buckets.get
  • storage.objects.get

詳情請參閱外部資料表簡介

聯合查詢

您可以使用聯合查詢將查詢陳述式傳送至 AlloyDB、Spanner 或 Cloud SQL 資料庫,並以臨時資料表的形式取得結果。聯合查詢會使用 BigQuery Connection API,與 AlloyDB、Spanner 或 Cloud SQL 建立連線。在查詢中,您可以使用 EXTERNAL_QUERY 函式,以該資料庫的 SQL 方言,將查詢陳述式傳送至外部資料庫。結果會轉換為 GoogleSQL 資料類型。

詳情請參閱聯合查詢簡介

外部資料來源功能比較

下表比較外部資料來源的行為:

BigLake 資料表 物件資料表 外部資料表 聯合查詢
使用存取權委派 可以,透過服務帳戶即可 可以,透過服務帳戶即可 是,透過資料庫使用者帳戶 (僅限 Cloud SQL)
可根據多個來源 URI 建立 是 (僅限 Cloud Storage) 不適用
列對應 資料列代表檔案內容 資料列代表檔案中繼資料 資料列代表檔案內容 不適用
可透過連接器供其他資料處理工具存取 是 (僅限 Cloud Storage) 不適用
可與其他 BigQuery 資料表聯結 是 (僅限 Cloud Storage)
可做為臨時資料表存取 是 (僅限 Cloud Storage)
與 Amazon S3 相容
適用於 Azure 儲存體
適用於 Bigtable
與 Spanner 搭配使用
與 Cloud SQL 搭配使用
支援 Google 雲端硬碟
可搭配 Cloud Storage 使用

後續步驟