配置ClickHouse数据源
操作场景
- HetuEngine目前支持对接集群为MRS 3.1.1及以上版本的ClickHouse数据源。
- 安全模式的HetuEngine支持对接安全模式集群为MRS 3.1.1及以上版本的ClickHouse数据源。
- 普通模式的HetuEngine支持对接普通模式集群为MRS 3.1.1及以上版本的ClickHouse数据源。
- ClickHouse数据源中同一个Schema(或Database)下不能存在名字内容相同但大小写格式不同的Table,例如:cktable(小写)、CKTABLE(大写)和CKtable(大小写混合),该内容的Table只能有一个,否则HetuEngine无法使用该Schema(或Database)下的表。
前提条件
参考创建HetuEngine用户创建HetuEngine管理员用户。
操作步骤
- 使用HetuEngine管理员用户登录FusionInsight Manager,选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
- 在“概览”页签下的“基本信息”区域,单击“HSConsole WebUI”后的链接,进入HSConsole界面。
- 选择“数据源”。
- 单击“添加数据源”,在“添加数据源”页面填写参数。
- 配置“基本配置”,参数配置请参考表1。
- 配置“ClickHouse配置”,参数配置请参考表2。
表2 ClickHouse配置 参数
描述
取值样例
驱动
默认为clickhouse。
clickhouse
JDBC URL
ClickHouse数据源的JDBC URL地址。
- ClickHouse数据源使用IPV4,则格式为:jdbc:clickhouse://<host>:<port>;
- ClickHouse数据源使用IPV6,则格式为:jdbc:clickhouse://[<host>]:<port>
其中:- <host>获取方法:登录ClickHouse数据源所在集群的Manager页面,选择“集群 > 服务 > ClickHouse > 实例”,查看ClickHouseBalancer所在的“业务IP”。
- <port>获取方法:登录ClickHouse数据源所在集群的Manager页面,选择“集群 > 服务 > ClickHouse > 配置 > 全部配置”,如果ClickHouse数据源是安全模式则查看ClickHouseBalancer实例HTTPS端口,即“lb_https_port”参数的“值”;如果ClickHouse数据源是普通模式则查看ClickHouseBalancer实例HTTP端口,即“lb_http_port”参数的“值”。
jdbc:clickhouse://10.162.156.243:21426 或者 jdbc:clickhouse://10.162.156.243:21425 或者 jdbc:clickhouse://[fec0::d916:8:5:164:200]:21426
用户名
连接ClickHouse数据源的用户名。
根据连接数据源的用户名修改。
密码
连接ClickHouse数据源的用户密码。
根据连接数据源的用户密码修改。
Schema/Table大小写敏感
支持数据源的Schema/Table名称大小写格式敏感。
HetuEngine支持数据源的Schema/Table名称大小写格式敏感。
- 否:当数据源同一个Schema下有多个Table名称,如cktable(小写)、CKTABLE(大写)和CKtable(大小写混合),HetuEngine只能使用cktable(小写)。
- 是:要求数据源同一个Schema下只能有一个Table名称,如cktable(小写)或者CKTABLE(大写)或者CKtable(大小写混合),否则HetuEngine无法使用该Schema下的所有表。
-
- (可选)自定义配置。
单击“增加”可以增加自定义配置参数。配置ClickHouse数据源自定义参数,参考表3。
表3 ClickHouse数据源自定义配置参数 参数
描述
取值样例
use-connection-pool
是否使用JDBC连接池
true
jdbc.connection.pool.maxTotal
JDBC连接池中最大连接数
8
jdbc.connection.pool.maxIdle
JDBC连接池中最大空闲连接数
8
jdbc.connection.pool.minIdle
JDBC连接池中最小空闲连接数
0
jdbc.connection.pool.testOnBorrow
从JDBC连接池中获取连接使用时是否对连接的有效性做检验
false
jdbc.pushdown-enabled
下推功能是否启用
默认值:true
true
jdbc.pushdown-module
下推类型
- DEFAULT:不下推任何算子
- BASE_PUSHDOWN:仅下推Filter、Aggregation、Limit、TopN、Projection等算子
- FULL_PUSHDOWN:下推所有可支持的算子
-
clickhouse.map-string-as-varchar
是否将ClickHouse数据源String和FixedString类型处理成Varchar类型
默认值:true
true
clickhouse.socket-timeout
连接ClickHouse数据源超时时长
单位:毫秒
默认值:120000
120000
case-insensitive-name-matching.cache-ttl
数据源的大小写敏感的Schema/Table名称缓存超时时长
单位:分钟
默认值:1
1
单击“删除”可以删除已增加的自定义配置参数。
- 单击“确定”。
使用指导
- HetuEngine支持的ClickHouse数据类型,如表4。
表4 HetuEngine支持的ClickHouse数据类型 名称
ClickHouse数据类型
HetuEngine支持的ClickHouse数据类型
UInt8
Decimal128(S)
UInt16
Boolean
UInt32
String
UInt64
Fixedstring(N)
Int8
UUID
Int16
Date
Int32
DateTime([timezone])
Int64
Enum
Float32
LowCardinality(data_type)
Float64
Nullable(typename)
Decimal(P, S)
IPv4
Decimal32(S)
IPv6
Decimal64(S)
-
- HetuEngine支持对接ClickHouse操作的表和视图,如表5。