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

AnalyticDB for PostgreSQL數據源

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

使用限制

離線同步支持讀取視圖表。

支持的版本

支持版本最高至7.0(含)。

支持的字段類型

離線讀

AnalyticDB for PostgreSQL Reader支持大部分AnalyticDB for PostgreSQL類型,但也存在部分類型沒有支持的情況,請注意檢查您的數據類型。

AnalyticDB for PostgreSQL Reader針對AnalyticDB for PostgreSQL的類型轉換列表,如下所示。

類型分類

AnalyticDB for PostgreSQL數據類型

整數類

BIGINT、BIGSERIAL、INTEGER、SMALLINT、SERIAL和GEOMETRY

浮點類

DOUBLE、PRECISION、MONEY、NUMERIC和REAL

字符串類

VARCHAR、CHAR、TEXT、BIT和INET

日期時間類

DATE、TIME和TIMESTAMP

布爾型

BOOL

二進制類

BYTEA

離線寫

AnalyticDB for PostgreSQL Writer支持大部分AnalyticDB for PostgreSQL類型,但也存在部分類型沒有支持的情況,請注意檢查您的類型。

AnalyticDB for PostgreSQL Writer針對AnalyticDB for PostgreSQL的類型轉換列表,如下所示。

類型分類

AnalyticDB for PostgreSQL數據類型

LONG

BIGINT、BIGSERIAL、INTEGER、SMALLINT和SERIAL

DOUBLE

DOUBLE、PRECISION、MONEY、NUMERIC和REAL

STRING

VARCHAR、CHAR、TEXT、BIT、INET和GEOMETRY

DATE

DATE、TIME和TIMESTAMP

BOOLEAN

BOOL

BYTES

BYTEA

說明

MONEY、INET和BIT需要您使用a_inet::varchar類似的語法進行轉換。

創建數據源

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

數據同步任務開發

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

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

整庫離線讀同步配置指導

操作流程請參見數據集成側同步任務配置

附錄:腳本Demo與參數說明

離線任務腳本配置方式

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

Reader腳本Demo

{
    "type": "job",
    "steps": [
        {
            "parameter": {
                "datasource": "test_004",//數據源名稱。
                "column": [//源端表的列名。
                    "id",
                    "name",
                    "sex",
                    "salary",
                    "age"
                ],
                "where": "id=1001",//過濾條件。
                "splitPk": "id",//切分鍵。
                "table": "public.person"http://源端表名。
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "parameter": {},
            "name": "Writer",
            "category": "writer"
        }
    ],
    "version": "2.0",//版本號
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    },
    "setting": {
        "errorLimit": {//錯誤記錄數。
            "record": ""
        },
        "speed": {
            "concurrent": 6,//并發數。
            "throttle": true,//當throttle值為false時,mbps參數不生效,表示不限流;當throttle值為true時,表示限流。
           "mbps":"12"http://限流,此處1mbps = 1MB/s。
        }
    }
}

Reader腳本參數

參數

描述

是否必選

默認值

datasource

數據源名稱,腳本模式支持添加數據源,該配置項輸入的內容必須和添加的數據源名稱保持一致。

table

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

column

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

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

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

  • 支持常量配置,您需要按照SQL語法格式。例如,["id", "table","1","'mingya.wmy'","'null'", "to_char(a+1)","2.3","true"]

    • id為普通列名。

    • table為包含保留字的列名。

    • 1為整型數字常量。

    • ‘mingya.wmy’為字符串常量(注意需要加上一對單引號)。

    • 'null'為字符串常量。

    • to_char(a+1)為計算字符串長度函數。

    • 2.3為浮點數。

    • true為布爾值。

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

splitPk

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

  • 通常表主鍵較為均勻,切分出的分片不易出現數據熱點,所以推薦splitPk用戶使用表主鍵。

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

  • 如果不填寫splitPk,包括不提供splitPk或者splitPk值為空,數據同步視作使用單通道同步該表數據 。

where

篩選條件,AnalyticDB for PostgreSQLReader根據指定的columntablewhere條件拼接SQL,并根據該SQL進行數據抽取。例如測試時,可以將where條件指定實際業務場景,往往會選擇當天的數據進行同步,將where條件指定為id>2 and sex=1

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

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

querySql(高級模式,向導模式不提供)

在部分業務場景中,where配置項不足以描述所篩選的條件,您可以通過該配置型來自定義篩選SQL。當配置此項后,數據同步系統就會忽略columntable等配置項,直接使用該項配置的內容對數據進行篩選。例如需要進行多表join后同步數據,使用select a,b from table_a join table_b on table_a.id = table_b.id

當您配置querySql時,AnalyticDB for PostgreSQL Reader直接忽略columntablewhere條件的配置。

fetchSize

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

說明

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

512

Writer腳本Demo

{
    "type": "job",
    "steps": [
        {
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "parameter": {
                "postSql": [],//導入后的完成語句。
                "datasource": "test_004",//數據源名。
                "column": [//目標表的列名。
                    "id",
                    "name",
                    "sex",
                    "salary",
                    "age"
                ],
                "table": "public.person",//目標表的表名。
                "preSql": []//導入前的準備語句。
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "version": "2.0",//版本號。
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    },
    "setting": {
        "errorLimit": {//錯誤記錄數。
            "record": ""
        },
        "speed": {
            "throttle":true,//當throttle值為false時,mbps參數不生效,表示不限流;當throttle值為true時,表示限流。
            "concurrent":6, //作業并發數。
            "mbps":"12"http://限流
        }
    }
}

Writer腳本參數

參數

描述

是否必選

默認值

datasource

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

table

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

writeMode

選擇導入模式,支持insert、copy和upsert方式。

  • insert:執行PostgreSQL的insert into...values... 語句,將數據寫入至PostgreSQL中。建議優先選擇該模式。

  • copy:PostgreSQL提供copy命令,用于表與文件(標準輸出,標準輸入)之間的相互復制。數據集成支持使用copy from,將數據加載到表中。建議您在遇到性能問題時再嘗試使用該模式。

  • upsert:寫入數據發生沖突后,按照conflictMode參數的設置進行新舊數據的處理。

insert

conflictMode

writeModeupsert,寫入數據至PostgreSQL出現主鍵或唯一性索引沖突時,可選擇如下沖突處理策略:

  • replace:寫入數據發生沖突后,使用待同步的新數據覆蓋原有的舊數據。

  • ignore:寫入數據發生沖突后,忽略新數據,并保留原有舊數據。

說明

當前僅支持通過腳本模式配置沖突處理策略。

replace

column

目標表需要寫入數據的字段,字段之間用英文逗號分隔。例如"column":["id","name","age"]。如果要依次寫入全部列,使用*表示,例如"column":["*"]。

preSql

執行數據同步任務之前率先執行的SQL語句。目前向導模式僅允許執行一條SQL語句,腳本模式可以支持多條SQL語句,例如清除舊數據。

postSql

執行數據同步任務之后執行的SQL語句。目前向導模式僅允許執行一條SQL語句,腳本模式可以支持多條SQL語句,例如加上某一個時間戳。

batchSize

一次性批量提交的記錄數大小,該值可以極大減少數據集成與AnalyticDB for PostgreSQL的網絡交互次數,并提升整體吞吐量。但是該值設置過大可能會造成數據集成運行進程OOM情況。

1,024