全部產品
Search
文件中心

DataWorks:BigQuery資料來源

更新時間:Jun 19, 2024

BigQuery資料來源為您提供讀取BigQuery的功能,方便您後續可以通過嚮導模式和指令碼模式配置資料同步任務。本文為您介紹DataWorks的BigQuery資料同步能力支援情況。

支援的版本及地區

  • BigQuery使用的SDK版本是google-cloud-bigquery 2.29.0,SDK能力具體請參見官網文檔

  • 支援建立BigQuery資料來源的地區如下:

    中國香港、日本(東京)、新加坡、澳大利亞(雪梨)、馬來西亞(吉隆坡)、印尼(雅加達)、印度(孟買)、德國(法蘭克福)、英國(倫敦)、美國(矽谷)、美國(維吉尼亞)

支援的欄位類型

BigQuery的欄位類型請參見BigQuery的官方文檔。下面為您列出當前主要欄位的支援情況。

BigQuery類型

Java 類型

BOOL

Bool

INT64

Long

FLOAT64

BigDecimal

NUMERIC

BigDecimal

BIGNUMERIC

BigDecimal

STRING

String

BYTES

Bytes

STRUCT

String

ARRAY

String

TIMESTAMP

Date

DATE

Date

TIME

Date

DATETIME

Date

GEOGRAPHY

String

JSON

String

INTERVAL

String

資料同步前準備:配置BigQuery的網路連接

在DataWorks上進行資料同步前,您需要將BigQuery的網路與Data Integration的獨享資源群組打通,使之通過內網地址進行訪問。網路打通的具體方法可參考:網路連通方案

資料同步任務開發

BigQuery資料同步任務的配置入口和通用配置流程指導可參見下文的配置指導,詳細的配置參數解釋可在配置介面查看對應參數的文案提示。

建立資料來源

在進行資料同步任務開發時,您需要在DataWorks上建立一個對應的資料來源,操作流程請參見建立並管理資料來源

以下對BigQuery資料來源的幾個配置項進行說明:

  • BigQuery Project ID:Google BigQuery的專案名。

  • BigQuery授權認證資訊:上傳Google Cloud的認證檔案

單表離線同步任務配置指導

附錄:指令碼Demo與參數說明

離線任務指令碼配置方式

如果您配置離線任務時使用指令碼模式的方式進行配置,您需要在任務指令碼中按照指令碼的統一格式要求編寫指令碼中的參數,指令碼模式的統一要求請參見通過指令碼模式配置離線同步任務,以下為您介紹指令碼模式下的資料來源的Reader參數的指導詳情。

BigQuery Reader指令碼Demo

{
  "stepType": "bigquery"
  "parameter":
  {
    "datasource":"bq_test1",
    "table": "partition_1107",
    "where": "xxx=3",
    "dataSet": "database_0724",
    "partition": [
      "_PARTITIONTIME='2023-11-07'"
     ],
    "column":
    [
      "id",
      "table_id",
      "table_no",
      "table_name",
      "table_status"
    ]
  },
  "name": "Reader",
  "category": "reader"
}

BigQuery Reader指令碼參數

參數

描述

是否必選

預設值

datasource

資料來源名稱,指令碼模式支援添加資料來源,此配置項填寫的內容必須與添加的資料來源名稱保持一致。

dataset

資料集,BigQuery的資料集。

table

選取的需要同步的表名稱。

column

需要讀取的BigQuery資料,欄位之間用英文逗號分隔。例如"column": ["id", "name", "age"]

where

篩選條件,BigQuery Reader根據指定的columntablewhere條件拼接SQL,並根據該SQL進行資料幫浦。例如在做測試時,可以將where條件指定為LIMIT 10

在實際業務情境中,通常會選擇當天的資料進行同步,可以將where條件指定為gmt_create>$bizdate

  • where條件可以有效地進行業務增量同步處理。

  • where條件不配置或為空白時,則視作不過濾。

partition

配置分區資訊,可以同步特定的分區,支援一次同步多個分區。

splitPk

如果已經指定了分區,則splitPk欄位不生效如果指定splitPk,表示您希望使用splitPk代表的欄位進行資料分區。資料同步系統會啟動並發任務進行資料同步,以提高資料同步的效能。