外部資料來源簡介
本頁面將概要說明如何查詢儲存在 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.getDatabigquery.jobs.createstorage.buckets.getstorage.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 使用 | 是 | 是 | 是 | 否 |
後續步驟
- 進一步瞭解 BigLake 資料表。
- 進一步瞭解物件表格
- 進一步瞭解外部資料表。
- 進一步瞭解聯合查詢。
- 瞭解 BigQuery 定價。