全部產品
Search
文件中心

DataWorks:BigQuery資料來源

更新時間:Nov 16, 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

資料同步前準備

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

建立資料來源

在進行資料同步任務開發時,您需要在DataWorks上建立一個對應的資料來源,操作流程請參見建立並管理資料來源詳細的配置參數解釋可在配置介面查看對應參數的文案提示

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

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

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

資料同步任務開發

資料同步任務的配置入口和通用配置流程可參見下文的配置指導。

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

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

離線任務指令碼配置方式

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

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"
}

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代表的欄位進行資料分區。資料同步系統會啟動並發任務進行資料同步,以提高資料同步的效能。