MRS ClickHouse数据源
MRS ClickHouse是一款华为云面向联机分析处理的列式数据库,其独立于Hadoop大数据体系,最核心的特点是压缩率和极速查询性能。同时,ClickHouse支持SQL查询,且查询性能好,特别是基于大宽表的聚合分析查询性能非常优异,比其他分析型数据库速度快一个数量级。
本数据集成服务全面支持华为云MRS-Clickhouse产品,支持MRS ClickHouse入湖出湖数据的稳定传输和处理。
使用前准备及限制
- 网络要求
MRS ClickHouse数据源必须与CDM网络进行通讯,以确保数据传输的顺畅性。详情请参见网络打通。
- 权限要求
- 读权限:如果需要从ClickHouse读取数据,需要为数据集成服务的IAM用户或用户组授予ClickHouse的只读权限,如MRS ReadOnlyAccess系统策略,或者根据具体需求创建自定义策略,授予如SELECT等读取相关操作的权限。
- 写权限:如果需要向ClickHouse写入数据,需要为数据集成服务的IAM用户或用户组授予ClickHouse的写入权限,如MRS CommonOperations或MRS FullAccess系统策略,或者创建自定义策略,授予如INSERT INTO TABLE、CREATE TABLE等写入相关操作的权限。
- 端口放通:在配置MRS ClickHouse数据源时,需要确保以下端口在安全组或自有网络已经放通,以供数据集成服务访问MRS使用。
表1 各服务端口说明 服务
端口类型
端口号
用途
ClickHouse
TCP
9000
ClickHouse TCP端口,用于客户端通过TCP连接到ClickHouse服务器。
HTTP
8123
ClickHouse HTTP端口,用于通过HTTP连接到ClickHouse服务器。
HTTPS
8443
ClickHouse HTTPS端口,用于通过HTTPS连接到ClickHouse服务器。
MRS Manager
TCP
28443
下载MRS集群配置。
TCP
20009
CAS认证端口。
TCP
20029
Manager与其他组件之间的通信和管理操作。
Kerberos (KDC)
TCP&&UDP
21730
Kerberos认证使用。
TCP&&UDP
21731
Kerberos认证使用。
TCP&&UDP
21732
Kerberos认证使用。
Zookeeper
TCP
2181
Zookeeper服务端口,用于客户端与Zookeeper集群之间的通信。
支持的数据类型
不同ClickHouse版本支持的字段类型有所不同,字段类型支持以开源CK 21.3.4.25版本为基准,本数据集成服务兼容以下字段类型及其常见变体,确保在读写操作中能够准确处理各类数据:
|
类别 |
ClickHouse字段类型 |
读取是否支持 |
写入是否支持 |
|---|---|---|---|
|
数值 |
Int8 |
√ |
√ |
|
Int16 |
√ |
√ |
|
|
Int32 |
√ |
√ |
|
|
Int64 |
√ |
√ |
|
|
Int128 |
√ |
√ |
|
|
UInt8 |
√ |
√ |
|
|
UInt16 |
√ |
√ |
|
|
UInt32 |
√ |
√ |
|
|
UInt64 |
√ |
√ |
|
|
UINT128 |
√ |
√ |
|
|
Float32 |
√ |
√ |
|
|
Float64 |
√ |
√ |
|
|
Decimal |
√ |
√ |
|
|
字符 |
String |
√ |
√ |
|
FixedString |
√ |
√ |
|
|
时间 |
Date |
√ |
√ |
|
DateTime |
√ |
√ |
|
|
DateTime64 |
√ |
√ |
|
|
布尔 |
Boolean |
√ |
√ |
|
数组 |
Array |
√ |
√ |
|
元组 |
Tuple |
x |
x |
|
IP |
IPv4 |
√ |
√ |
|
IPv6 |
√ |
√ |
|
|
枚举 |
Enum8 |
√ |
√ |
|
Enum16 |
√ |
√ |
|
|
Nested |
Nested |
x |
x |
支持的迁移场景
数据集成离线同步支持以下三种同步方式,以满足不同数据迁移场景的需求:
- 单表同步
适用于数据入湖和数据上云场景下,表或文件级别的数据同步。支持的数据源类型请参考单表支持的数据源类型。
- 分库分表同步
适用于数据入湖和数据上云场景下,多库多表同步场景。支持的数据源类型请参考分库分表同步支持的数据源类型。
- 整库迁移
适用于数据入湖和数据上云场景下,离线或自建数据库整体同步场景。支持的数据源类型请参考整库同步支持的数据源类型。
需要注意的是,分库分表与整库迁移能力会根据不同region的上线支持情况有所不同,具体支持情况以页面为准。以下是针对MRS ClickHouse的支持迁移场景概览:
|
支持迁移场景 |
单表读取 |
单表写入 |
分库分表读取 |
分库分表写入 |
整库读取 |
整库写入 |
|---|---|---|---|---|---|---|
|
是否支持 |
√ |
√ |
x |
√ |
x |
x |
核心能力速览
- 连接配置
配置项
支持情况
说明
kerberos认证
√
通过Kerberos认证方式访问MRS集群。
连接配置调优
√
支持connectTimeout等连接配置调优,可根据实际需求优化连接性能。
- 读取能力
配置项
支持情况
说明
分片并发
√
支持按主键或常见字段做水平分片,多线程并行抽取,显著提升吞吐效率。
脏数据处理
√
支持异常数据写入脏数据桶,避免因少量异常数据导致作业失败。
自定义字段
√
可在任务级追加计算列、常量列或脱敏函数,满足个性化业务需求。
增量读取
√
支持where条件下发查询,可实现增量读取。
流批读取方式
批读
支持批量读取数据,适用于处理大规模静态数据集,可一次性读取大量数据并进行集中处理。
- 写入能力
配置项
支持情况
说明
导入前后处理
√
支持preSql等操作,可在数据导入前后进行数据清洗和处理。
并发写入
√
支持并发写入,提升写入效率。
写入行数调优
√
可根据需求配置单次写入的行数,合理控制数据传输量,优化性能,避免因数据量过大导致的传输延迟或系统压力。
脏数据处理
x
支持异常数据写入脏数据桶,避免因少量异常数据导致作业失败,暂不支持。
创建数据源
在DataArts Studio管理中心新建相应的数据源,详情请参见创建DataArts Studio数据连接。
创建数据集成离线作业
在DataArts Studio数据开发中新建ClickHouse集成作业,详情请参见新建离线处理集成作业。