日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

GBase8a數據源

GBase8a數據源為您提供讀取和寫入GBase8a雙向通道的功能,本文為您介紹DataWorks的GBase8a數據同步的能力支持情況。

使用限制

  • 目前Gbase8a Reader和Gbase8a Writer支持使用Serverless資源組(推薦)獨享數據集成資源組

  • insert into...:當主鍵或唯一性索引沖突時,無法寫入沖突的行。

  • 目的表所在數據庫必須是主庫才能寫入數據。

    說明

    整個任務需要至少具備insert into...的權限。是否需要其它權限,取決于您配置任務時,在preSqlpostSql中指定的語句。

  • Gbase8a Writer不支持配置writeMode參數。

創建數據源

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

數據同步任務開發

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

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

附錄:腳本Demo與參數說明

離線任務腳本配置方式

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

Reader腳本Demo

{
    "type": "job",
    "steps": [
        {
            "stepType": "gbase8a", //插件名。
            "parameter": {
                "datasource": "", //數據源名。
                "username": "",
                "password": "",
                "where": "",
                "column": [ //字段。
                    "id",
                    "name"
                ],
                "splitPk": "id",
                "connection": [
                    {
                        "table": [ //表名。
                            "table"
                        ],
                        "datasource":""
                    }
                ]
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "stream",
            "parameter": {
                "print": false,
                "fieldDelimiter": ","
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "version": "2.0",
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    },
    "setting": {
        "errorLimit": {
            "record": "0" //錯誤記錄數。
        },
        "speed": {
            "throttle": true, //當throttle值為false時,mbps參數不生效,表示不限流;當throttle值為true時,表示限流。
            "concurrent": 1, //作業并發數。
            "mbps":"12"http://限流,此處1mbps = 1MB/s。
        }
    }
}

Reader腳本參數

參數

描述

是否必選

默認值

datasource

如果您使用的DataWorks版本支持添加Gbase8a數據源,即可在此處根據數據源名稱引用您添加的Gbase8a數據源。

table

選取的需要同步的表。使用JSON的數組進行描述,支持同時讀取多張表。

當配置為多張表時,您需要保證多張表的schema結構一致,Gbase8a Reader不檢查表的邏輯是否統一。

說明

table必須包含在connection配置單元中。

column

所配置的表中需要同步的列名集合,使用JSON的數組描述字段信息 。默認使用所有列配置,例如[ * ]。

  • 支持列裁剪:列可以挑選部分列進行導出。

  • 支持列換序:列可以不按照表schema信息順序進行導出。

  • 支持常量配置:例如,'123'

  • 支持函數列:例如,date('now')

  • column必須顯示指定同步的列集合,不允許為空。

splitPk

Gbase8a Reader進行數據抽取時,如果指定splitPk,表示您希望使用splitPk代表的字段進行數據分片,數據同步因此會啟動并發任務進行數據同步,提高數據同步的效能。

  • 推薦splitPk用戶使用表主鍵,因為表主鍵通常情況下比較均勻,因此切分出來的分片也不容易出現數據熱點。

  • 目前splitPk僅支持整型數據切分,不支持字符串、浮點和日期等其它類型 。如果您指定其它非支持類型,則忽略splitPk功能,使用單通道進行同步。

  • 如果設置splitPk值為空,底層將視作您不允許對單表進行切分,因此使用單通道進行抽取。

where

篩選條件,Gbase8a Reader根據指定的columntablewhere條件拼接SQL,并根據該SQL進行數據抽取。

例如,在進行測試時,可以指定where條件為limit 10。在實際業務場景中,通常會選擇當天的數據進行同步,指定where條件為gmt_create>$bizdate

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

  • where條件不配置或為空,則視作全表同步數據。

querySql

在部分業務場景中,where配置項不足以描述所篩選的條件,您可以通過該配置型來自定義篩選SQL。配置該項后,數據同步系統會忽略tablescolumnssplitPk配置項,直接使用該項配置的內容對數據進行篩選。

當您配置querySql時,Gbase8a Reader直接忽略tablecolumnwheresplitPk條件的配置。

fetchSize

該配置項定義了插件和數據庫服務器端每次批量數據獲取條數,該值決定了數據集成和服務器端的網絡交互次數,能夠較大地提升數據抽取性能。

說明

fetchSize值過大(>2048)可能造成數據同步進程OOM。

1,024

Writer腳本Demo

{
    "type":"job",
    "version":"2.0",//版本號。
    "steps":[
        {
            "stepType":"stream",
            "parameter":{},
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"gbase8a",//插件名。
            "parameter":{
                "datasource": "數據源名",
                "username": "",
                "password": "",
                "column": [//字段。
                    "id",
                    "name"
                ],
                "connection": [
                    {
                        "table": [//表名。
                            "Gbase8a_table"
                        ],
                        "datasource":""
                    }
                ],
                "preSql": [ //執行數據同步任務之前率先執行的SQL語句。
                    "delete from @table where db_id = -1"
                ],
                "postSql": [//執行數據同步任務之后率先執行的SQL語句。
                    "update @table set db_modify_time = now() where db_id = 1"
                ]
            },
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"http://錯誤記錄數。
        },
        "speed":{
            "throttle":true,//當throttle值為false時,mbps參數不生效,表示不限流;當throttle值為true時,表示限流。
            "concurrent":1, //作業并發數。
            "mbps":"12"http://限流,此處1mbps = 1MB/s。
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Writer腳本參數

參數

描述

是否必選

默認值

datasource

數據源名稱,腳本模式支持添加數據源,此配置項填寫的內容必須與添加的數據源名稱保持一致。

table

需要同步寫出的表名稱,使用JSON的數組進行描述。

說明

table必須包含在connection配置單元中。

column

目標表需要寫入數據的字段,字段之間用英文所逗號分隔。例如,"column": ["id", "name", "age"]

說明

column配置項必須指定,不能為空。

preSql

寫入數據至目標表前,會先執行此處的標準語句。如果SQL中有需要操作的表名稱,請使用@table表示,以便在實際執行SQL語句時,對變量按照實際表名稱進行替換。

postSql

寫入數據至目標表后,會執行此處的標準語句。

batchSize

一次性批量提交的記錄數大小,該值可以極大減少數據同步系統與Gbase8a的網絡交互次數,并提升整體吞吐量。如果該值設置過大,會導致數據同步運行進程OOM異常。

1,024