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>
使用限制
离线读写
支持使用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请参见下文的附录:脚本Demo与参数说明。
整库离线读同步配置指导
操作流程请参见数据集成侧同步任务配置。
附录:脚本Demo与参数说明
离线任务脚本配置方式
如果您配置离线任务时使用脚本模式的方式进行配置,您需要按照统一的脚本格式要求,在任务脚本中编写相应的参数,详情请参见通过脚本模式配置离线同步任务,以下为您介绍脚本模式下数据源的参数配置详情。