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

ClickHouse數據源

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

支持的版本

  • 支持阿里云ClickHouse的20.8、21.8內核版本。

  • 您需要確認驅動和您的ClickHouse服務之間的兼容能力,數據庫驅動使用如下版本。

    <dependency>
        <groupId>ru.yandex.clickhouse</groupId>
        <artifactId>clickhouse-jdbc</artifactId>
        <version>0.2.4</version>
    </dependency>

使用限制

離線讀寫

  • 支持使用Serverless資源組(推薦)獨享數據集成資源組

  • 支持使用JDBC連接ClickHouse,且僅支持使用JDBC Statement讀取數據。

  • 支持篩選部分列、列換序等功能,您可以自行填寫列。

  • 考慮到ClickHouse負載問題,ClickHouse Writer使用INSERT模式時,建議您限流系統吞吐量(TPS)最高為1,000。

支持的字段類型

支持阿里云ClickHouse以下常見的數據類型,阿里云ClickHouse的數據類型全集請參見數據類型,開源ClickHouse官方數據類型集合中的其他類型暫不支持,開源ClickHouse數據類型全集請參見ClickHouse Doc

數據類型

ClickHouse Reader

ClickHouse Writer

Int8

支持

支持

Int16

支持

支持

Int32

支持

支持

Int64

支持

支持

UInt8

支持

支持

UInt16

支持

支持

UInt32

支持

支持

UInt64

支持

支持

Float32

支持

支持

Float64

支持

支持

Decimal

支持

支持

String

支持

支持

FixedString

支持

支持

Date

支持

支持

DateTime

支持

支持

DateTime64

支持

支持

Boolean

支持

說明

ClickHouse沒有單獨的Boolean類型,可使用UInt8、Int8

支持

Array

部分支持。

數組元素類型是整型、浮點數、字符串類型、DateTime64毫秒精度時支持。

支持

Tuple

支持

支持

Domain(IPv4,IPv6)

支持

支持

Enum8

支持

支持

Enum16

支持

支持

Nullable

支持

支持

Nested

部分支持。

Nested內嵌套數據類型是整型、浮點數、字符串類型、DateTime64毫秒精度時支持。

支持

創建數據源

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

數據同步任務開發

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

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

整庫離線讀同步配置指導

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

附錄:腳本Demo與參數說明

離線任務腳本配置方式

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

Reader腳本Demo

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "clickhouse", //插件名。
            "parameter": {
                "fetchSize":1024,//該配置項定義了插件和數據庫服務器端每次批量數據獲取條數。
                "datasource": "example",
                "column": [   //列名。
                    "id",
                    "name"
                ],
                "where": "",    //過濾條件。
                "splitPk": "",  //切分鍵。
                "table": ""    //表名。
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "clickhouse",
            "parameter": {
                "postSql": [
                    "update @table set db_modify_time = now() where db_id = 1"
                ],
                "datasource": "example",    //數據源。
                "batchByteSize": "67108864",
                "column": [
                    "id",
                    "name"
                ],
                "writeMode": "insert",
                "encoding": "UTF-8",
                "batchSize": 1024,
                "table": "ClickHouse_table",
                "preSql": [
                    "delete from @table where db_id = -1"
                ]
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "executeMode": null,
        "errorLimit": {
            "record": "0"  //同步過程中的錯誤記錄限流數。
        },
        "speed": {
         "throttle":true,//當throttle值為false時,mbps參數不生效,表示不限流;當throttle值為true時,表示限流。
            "concurrent":1 //作業并發數。
            "mbps":"12",//限流,此處1mbps = 1MB/s。
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Reader腳本參數

參數

描述

是否必選

默認值

datasource

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

table

所選取的需要同步的表。使用JSON數據進行描述。

說明

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

fetchSize

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

說明

fetchSize值過大會造成數據同步進程OOM,需要根據ClickHouse負載情況遞增。

1,024

column

需要讀取的ClickHouse數據,字段之間用英文逗號分隔。例如"column": ["id", "name", "age"]

說明

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

jdbcUrl

到源端數據庫的JDBC連接信息,jdbcUrl包含在connection配置單元中。

  • 在一個數據庫上只能配置一個值。

  • jdbcUrl的格式和ClickHouse官方一致,并可以連接附加參數信息。例如:jdbc:clickhouse://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=gbk &autoReconnect=true&failOverReadOnly=false

username

數據源的用戶名。

password

數據源指定用戶名的密碼。

splitPk

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

說明

當配置了splitPk時,fetchSize參數為必填項。

where

篩選條件,在實際業務場景中,往往會選擇當天的數據進行同步,將where條件指定為gmt_create>$bizdate

where條件可以有效地進行業務增量同步。如果不填寫where語句,包括不提供where的key或value,數據同步均視作同步全量數據。

Writer腳本Demo

{
    "type":"job",
    "version":"2.0",//版本號。
    "steps":[
        {
            "stepType":"stream",
            "parameter":{},
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"clickhouse",//插件名。
            "parameter":{
                "username": "",
                "password": "",
                "column": [//字段。
                    "id",
                    "name"
                ],
                "connection": [
                    {
                        "table": [//表名。
                            "ClickHouse_table"
                        ],
                        "jdbcUrl": "jdbc:clickhouse://ip:port/database"
                    }
                ],
                "preSql": [ //執行數據同步任務之前率先執行的SQL語句。
                    "TRUNCATETABLEIFEXISTStablename"
                ],
                "postSql": [//執行數據同步任務之后率先執行的SQL語句。
                    "ALTERTABLEtablenameUPDATEcol1=1WHEREcol2=2"
                ],
                "batchSize": "1024",
                "batchByteSize": "67108864",
                "writeMode": "insert"
            },
            "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腳本參數

參數

描述

是否必選

默認值

jdbcUrl

到對端數據庫的JDBC連接信息,jdbcUrl包含在connection配置單元中。

  • 在一個數據庫上只能配置一個值。

  • jdbcUrl的格式和ClickHouse官方一致,并可以連接附加參數信息。例如,jdbc:clickhouse://127.0.0.1:3306/database

username

數據源的用戶名。

password

數據源指定用戶名的密碼。

table

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

說明

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

column

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

說明

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

preSql

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

postSql

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

batchSize

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

1,024