BigQuery 批次來源

本頁面提供在 Cloud Data Fusion 中設定 BigQuery 批次來源外掛程式的指引。

BigQuery 來源外掛程式可讓您連結 BigQuery 資料表並載入資料。系統會將 BigQuery 資料表中的資料匯出至 Cloud Storage 中的臨時位置,然後從該位置讀取資料至管道。

事前準備

Cloud Data Fusion 通常有兩個服務帳戶:

使用 BigQuery 批次來源外掛程式前,請先將下列角色或權限授予每個服務帳戶。

Cloud Data Fusion API 服務代理人

這個服務帳戶已具備所有必要權限,因此您不需要新增其他權限。請注意,此權限具備下列權限:

  • bigquery.datasets.get
  • bigquery.tables.create
  • bigquery.tables.get
  • bigquery.tables.updateData
  • bigquery.tables.update
  • bigquery.tables.export

如果您除了使用預設的設計時間服務帳戶外,也使用命名空間服務帳戶,請將上述清單中的權限新增至該帳戶。

Compute Engine 服務帳戶

在 Google Cloud 專案中,將下列 IAM 角色或權限授予 Compute Engine 服務帳戶:

  • BigQuery 工作使用者 (roles/bigquery.jobUser)。這個預先定義的角色包含必要的 bigquery.jobs.create 權限。
  • BigQuery 資料編輯者 (roles/bigquery.dataEditor)。這個預先定義的角色包含下列必要權限:

    • bigquery.datasets.get
    • bigquery.tables.create
    • bigquery.tables.get
    • bigquery.tables.updateData
    • bigquery.tables.update
    • bigquery.tables.export

視用途而定,您也可以在 BigQuery 資料集或資料表上指派這些角色和權限。

  • Storage 舊版值區寫入者 (roles/storage.legacyBucketWriter)。這個預先定義的角色包含下列必要權限:

    • storage.buckets.get
    • storage.objects.get
    • storage.objects.list

視用途而定,您也可以在 Cloud Storage 值區中指派這個角色和這些權限。

設定外掛程式

  1. 前往 Cloud Data Fusion 網頁介面,然後按一下「Studio」
  2. 確認已選取「資料管道 - 批次」 (而非「即時」)。
  3. 在「來源」選單中,按一下「BigQuery」。BigQuery 節點會顯示在管道中。
  4. 如要設定來源,請前往 BigQuery 節點,然後按一下「Properties」
  5. 輸入下列屬性。如需完整清單,請參閱「屬性」。

    1. 輸入 BigQuery 節點的標籤,例如 BigQuery tables
    2. 輸入連線詳細資料。您可以設定新的一次性連線,或現有的可重複使用的連線。

      新連結

      如要新增一次性 BigQuery 連線,請按照下列步驟操作:

      1. 將「Project ID」欄位的值保留為「自動偵測」。
      2. 如果 BigQuery 資料集位於其他專案中,請在「Dataset Project ID」欄位中輸入 ID。
      3. 在「Service account type」(服務帳戶類型) 欄位中,選擇下列其中一項,然後在下一個欄位中輸入內容:

        • 檔案路徑
        • JSON

      可重複使用的連線

      如要重複使用現有的連線,請按照下列步驟操作:

      1. 開啟「Use connection」
      2. 按一下「瀏覽連線」
      3. 按一下連線名稱,例如「BigQuery 預設」

      4. 選用步驟:如果沒有連線,但您想建立可重複使用的新連線,請按一下「新增連線」,然後參閱本頁「新連線分頁中的步驟。

    3. 在「Reference name」欄位中,輸入要用於顯示系統樹狀結構的名稱。

    4. 選用:如果資料集已在執行個體中提供,請按一下「瀏覽」,然後選取要讀取的資料。

    5. 在「Dataset」欄位中,輸入包含資料表的資料集名稱。

    6. 在「Table」(資料表) 欄位中輸入資料表名稱。

    7. 如要測試連線,請按一下「取得架構」

    8. 選用:在「區隔開始日期」欄位中,輸入包含開始日期的字串,例如 2021-01-11

    9. 選用步驟:在「Partition end date」欄位中輸入包含結束日期的字串,例如 2024-01-11

    10. 選用:在「Filter」欄位中輸入 BigQuery WHERE 子句

    11. 選用:在「臨時值區名稱」欄位中輸入 Cloud Storage 值區的名稱。

    12. 選用:在「Encryption Key Name」欄位中,輸入 Cloud Key Management Service (Cloud KMS) 加密金鑰名稱。詳情請參閱「取得鍵的資源名稱」。

    13. 選用:開啟「啟用查詢檢視畫面」。如要啟用這些功能,請按照下列步驟操作:

      • 在「Temporary table creation project」(臨時資料表建立專案) 欄位中,輸入要建立臨時資料表的專案名稱。
      • 在「臨時資料表建立資料集」欄位中,輸入要建立臨時資料表的資料集名稱。
    14. 選用步驟:按一下「驗證」,然後修正所有錯誤。

    15. 按一下 「關閉」。屬性會儲存,您可以繼續在 Cloud Data Fusion 網頁介面中建構資料管道。

屬性

屬性 已啟用巨集 必要屬性 說明
標籤 資料管道中的節點名稱。
使用連線 瀏覽可重複使用的來源連線。如要進一步瞭解如何新增、匯入及編輯瀏覽連線時顯示的連線,請參閱「管理連線」。
連線 如果已開啟「使用連線」,您選取的可重複使用連線名稱就會顯示在這個欄位中。
專案 ID 僅在「Use connection」關閉時使用。這是 BigQuery 工作執行專案的全域專屬 ID。
預設值為 auto-detect
資料集專案 ID 僅在「Use connection」關閉時使用。如果資料集位於 BigQuery 作業執行的專案以外,這個值就是 BigQuery 資料集專案的全球唯一 ID。如果未提供任何值,欄位會預設為 Project ID 值。您必須將「BigQuery 資料檢視者」角色授予指定的服務帳戶,才能讀取專案中的 BigQuery 資料。
服務帳戶類型 選取下列其中一個選項:
  • 檔案路徑:服務帳戶所在的路徑。
  • JSON:服務帳戶的 JSON 內容。
服務帳戶檔案路徑 只有在服務帳戶類型值為「檔案路徑」時才會使用。用於授權的服務帳戶金鑰在本機檔案系統中的路徑。如果工作在 Dataproc 叢集中執行,請將值設為自動偵測。如果工作在其他類型的叢集中執行,則該檔案必須位於叢集中的每個節點。
預設為 auto-detect
服務帳戶 JSON 只有在服務帳戶類型值為 JSON 時才會使用。服務帳戶的 JSON 檔案內容。
參照名稱 這個名稱可在其他服務 (例如沿革和註解中繼資料) 中,識別出這個來源。
資料集 資料表所屬的資料集。資料集包含在特定專案中。資料集是用來整理及控管資料表和檢視表存取權的頂層容器。
Table 要讀取的資料表。資料表含有以資料列分組的個別記錄,每筆記錄是由資料欄 (也稱為「欄位」) 組成。每份資料表都按包含資料欄名稱、資料類型和其他資訊的結構定義定義。
分區開始日期 包含分區開始日期,指定為 yyyy-mm-dd。如果未提供任何值,系統會讀取到分區結束日期為止的所有分區。
分區結束日期 不含分區結束日期,指定為 yyyy-mm-dd。如果未提供任何值,系統會讀取從分區開始日期開始的所有分區。
篩選 篩選指定條件的 SQL 查詢。例如,這項查詢會傳回 Roster 資料表中 SchoolID 欄值為 SchoolID > 52:
SELECT * FROM Roster WHERE SchoolID > 52; 的所有資料列。這與 BigQuery 中的 WHERE 子句相同。
臨時值區名稱 用於暫時性資料儲存的 Cloud Storage 值區。如果不存在,系統會自動建立。系統會在讀取暫存資料後刪除。如果未提供名稱,系統會建立一個專屬值區,並在執行作業結束後刪除。
加密金鑰名稱 用於將資料寫入外掛程式建立的任何值區的金鑰。如果已存在桶,系統會忽略這個值。詳情請參閱「CMEK」。
啟用查詢檢視畫面 是否允許 BigQuery 邏輯和具體化檢視表。由於 BigQuery 檢視表並未預設啟用,因此查詢這些檢視表可能會產生效能額外負擔。
預設值為「否」。
暫時表格建立專案 只有在啟用「啟用查詢檢視畫面」時才會使用。應建立臨時資料表的專案名稱。預設為資料表所在的專案。
暫時表格建立資料集 應建立臨時資料表的指定專案中的資料集。預設為資料表所在的資料集。
輸出結構定義 要讀取的資料表結構定義。您可以按一下「取得架構」來擷取。

資料類型對應關係

下表列出 BigQuery 資料類型及其對應的 CDAP 類型。

BigQuery 資料類型 CDAP 架構資料類型
BOOL boolean
BYTES bytes
DATE date
DATETIME datetime, string
FLOAT64 double
GEO unsupported
INT64 long
NUMERIC decimal
BIGNUMERIC decimal
REPEATED array
STRING stringdatetime (ISO 8601 格式)
STRUCT record
TIME time (微秒)
TIMESTAMP timestamp (微秒)
JSON unsupported

後續步驟