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

ClickHouse數(shù)據(jù)源

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

支持的版本

  • 支持阿里云ClickHouse的20.8、21.8內(nèi)核版本。

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

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

使用限制

離線讀寫

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

  • 支持使用JDBC連接ClickHouse,且僅支持使用JDBC Statement讀取數(shù)據(jù)。

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

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

支持的字段類型

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

數(shù)據(jù)類型

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

部分支持。

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

支持

Tuple

支持

支持

Domain(IPv4,IPv6)

支持

支持

Enum8

支持

支持

Enum16

支持

支持

Nullable

支持

支持

Nested

部分支持。

Nested內(nèi)嵌套數(shù)據(jù)類型是整型、浮點數(shù)、字符串類型、DateTime64毫秒精度時支持。

支持

創(chuàng)建數(shù)據(jù)源

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

數(shù)據(jù)同步任務開發(fā)

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

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

整庫離線讀同步配置指導

操作流程請參見數(shù)據(jù)集成側同步任務配置

附錄:腳本Demo與參數(shù)說明

離線任務腳本配置方式

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

Reader腳本Demo

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "clickhouse", //插件名。
            "parameter": {
                "fetchSize":1024,//該配置項定義了插件和數(shù)據(jù)庫服務器端每次批量數(shù)據(jù)獲取條數(shù)。
                "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",    //數(shù)據(jù)源。
                "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"  //同步過程中的錯誤記錄限流數(shù)。
        },
        "speed": {
         "throttle":true,//當throttle值為false時,mbps參數(shù)不生效,表示不限流;當throttle值為true時,表示限流。
            "concurrent":1 //作業(yè)并發(fā)數(shù)。
            "mbps":"12",//限流,此處1mbps = 1MB/s。
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Reader腳本參數(shù)

參數(shù)

描述

是否必選

默認值

datasource

數(shù)據(jù)源名稱,腳本模式支持添加數(shù)據(jù)源,此配置項填寫的內(nèi)容必須要與添加的數(shù)據(jù)源名稱保持一致。

table

所選取的需要同步的表。使用JSON數(shù)據(jù)進行描述。

說明

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

fetchSize

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

說明

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

1,024

column

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

說明

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

jdbcUrl

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

  • 在一個數(shù)據(jù)庫上只能配置一個值。

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

username

數(shù)據(jù)源的用戶名。

password

數(shù)據(jù)源指定用戶名的密碼。

splitPk

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

說明

當配置了splitPk時,fetchSize參數(shù)為必填項。

where

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

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

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": [ //執(zhí)行數(shù)據(jù)同步任務之前率先執(zhí)行的SQL語句。
                    "TRUNCATETABLEIFEXISTStablename"
                ],
                "postSql": [//執(zhí)行數(shù)據(jù)同步任務之后率先執(zhí)行的SQL語句。
                    "ALTERTABLEtablenameUPDATEcol1=1WHEREcol2=2"
                ],
                "batchSize": "1024",
                "batchByteSize": "67108864",
                "writeMode": "insert"
            },
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"http://錯誤記錄數(shù)。
        },
        "speed":{
            "throttle":true,//當throttle值為false時,mbps參數(shù)不生效,表示不限流;當throttle值為true時,表示限流。
            "concurrent":1, //作業(yè)并發(fā)數(shù)。
            "mbps":"12"http://限流,此處1mbps = 1MB/s。
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Writer腳本參數(shù)

參數(shù)

描述

是否必選

默認值

jdbcUrl

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

  • 在一個數(shù)據(jù)庫上只能配置一個值。

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

username

數(shù)據(jù)源的用戶名。

password

數(shù)據(jù)源指定用戶名的密碼。

table

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

說明

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

column

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

說明

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

preSql

寫入數(shù)據(jù)至目標表前,會先執(zhí)行此處的標準語句。

postSql

寫入數(shù)據(jù)至目標表后,會執(zhí)行此處的標準語句。

batchSize

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

1,024