配置GAUSSDB数据源
操作场景
本章节指导用户在HSConsole界面添加GaussDB类型的JDBC数据源。
前提条件
- 数据源所在集群域名与HetuEngine集群域名不能相同。
- 数据源所在集群与HetuEngine集群节点网络互通。
- 已创建HetuEngine计算实例。
操作步骤
- 使用HetuEngine管理员用户登录FusionInsight Manager,选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
- 在“概览”页签下的“基本信息”区域,单击“HSConsole WebUI”后的链接,进入HSConsole界面。
- 选择“数据源”。
- 单击“添加数据源”。在“添加数据源”页面填写参数。
- 配置“基本配置”,参数配置请参考表1。
- 配置“GAUSSDB-A配置”,参数配置请参考表2。
表2 GAUSSDB-A配置 参数
描述
取值样例
驱动
默认为gaussdba。
gaussdba
JDBC URL
连接GaussDB数据库的JDBC URL地址。格式为:
jdbc:postgresql://CN业务IP:端口/数据库名称
jdbc:postgresql://10.0.136.1:25308/postgres
用户名
GaussDB数据源连接用户名。
根据连接数据源的用户名修改。
密码
GaussDB数据源连接密码。
根据连接数据源的用户名密码修改。
GaussDB用户信息配置
以dataSourceUser和password键值对的形式配置多个GaussDB的用户名和密码。
-
HetuEngine-GaussDB用户映射配置
以hetuUser和dataSourceUser键值对的形式配置多个HetuEngine的账户对应上面多个用户的其中一个。当使用不同的HetuEngine用户访问GaussDB时,可对应用不同的GaussDB的用户和密码。
-
- 配置Gauss数据源用户信息,参考表3 GaussDB用户信息配置。
“GaussDB用户信息配置”与“HetuEngine-GaussDB用户映射配置”要搭配使用,HetuEngine在对接的GaussDB数据源时,通过用户映射,使得HetuEngine的用户具备与GaussDB数据源被映射的用户访问GaussDB数据源时同样的权限。可以多个HetuEngine用户对应一个GaussDB用户。
- 配置 HetuEngine-GaussDB用户映射配置,参考表4 HetuEngine-GaussDB用户映射配置
表4 HetuEngine-GaussDB用户映射配置 名称
描述
取值样例
HetuEngine User
HetuEngine 用户名
只能包含字母、数字、下划线(_)、中划线(-)和 英文 (.),仅以字母、下划线(_)开头, 并且最小长度为2个字符,最大长度不能超过100个字符。
hetuuser1
Data Source User
数据源用户
只能包含字母、数字、下划线(_)、中划线(-)和 英文句号 (.),仅以字母、下划线(_)开头, 并且最小长度为2个字符,最大长度不能超过100个字符。
gaussuser1(表3中配置的数据源用户)
- 自定义配置。
- 单击“增加”可以增加自定义配置参数。配置GaussDB数据源自定义参数,参考表5。
表5 GaussDB数据源自定义配置参数 名称
描述
取值样例
use-connection-pool
是否使用JDBC连接池
true
jdbc.connection.pool.maxTotal
JDBC连接池中最大连接数
8
jdbc.connection.pool.maxIdle
JDBC连接池中最大空闲连接数
8
jdbc.connection.pool.minIdle
JDBC连接池中最小空闲连接数
0
jdbc.pushdown-enabled
true:允许将SQL下推到数据源执行
false: SQL不会被下推到数据源执行,因此会消耗更多的网络和计算资源
true
jdbc.pushdown-module
前提条件:下推功能已开启
- DEFAULT:不下推任何算子
- BASE_PUSHDOWN:仅下推Filter、Aggregation、Limit、TopN、Projection等算子
- FULL_PUSHDOWN:下推所有可支持的算子
DEFAULT
source-encoding
GaussDB数据源编码方式
UTF-8
multiple-cnn-enabled
是否使用GaussDB多CN配置。如果使用,首先确保关闭JDBC连接池功能,其次JDBC URL格式为:jdbc:postgresql://host:port/database,jdbc:postgresql://host:port/database,jdbc:postgresql://host:port/database
false
parallel-read-enabled
是否使用并行数据读取功能
启用并行数据读取功能将基于节点分布和“max-splits”参数值来确定实际的split数。
并行读取将与数据源创建多个连接,被依赖的数据源应当具备支持负载的能力。
false
split-type
并行数据读取类型
- NODE:基于GaussDB数据源DN节点划分并行度
- PARTITION:基于表分区划分并行度
- INDEX:基于表索引划分并行度
NODE
max-splits
最大并行度
5
use-copymanager-for-insert
数据写入时是否使用CopyManager批量导入功能
false
unsupported-type-handling
当连接器不支持此数据类型时,可以转换为VARCHAR,从而避免失败
- CONVERT_TO_VARCHAR:不支持的类型将转为VARCHAR类型,并且只支持对它们的读操作,不支持的类型包括:BIT VARYING、CIDR、MACADDR、INET、OID、REGTYPE、REGCONFIG、POINT
- IGNORE(默认值):不支持的类型将不在查询结果中显示
CONVERT_TO_VARCHAR
max-bytes-in-a-batch-for-copymanager-in-mb
CopyManager批量导入每一批次最大数据量,单位:MB
10
- 单击“删除”可以删除已增加的自定义配置参数。
- 单击“增加”可以增加自定义配置参数。配置GaussDB数据源自定义参数,参考表5。
- 单击“确定”。
- UPDATE和DELETE语法不支持筛选条件子句中包含跨catalog的条件,例如:UPDATE mppdb.table SET column1=value WHERE column2 IN (SELECT column2 from hive.table)
- 执行DELETE语法需要设置“jdbc.pushdown-enabled=true”,“unsupported-type-handling=CONVERT_TO_VARCHAR”
- DELETE语法不支持筛选条件子句中包含子查询,例如:DELETE FROM mppdb.table WHERE column IN (SELECT column FROM mppdb.table1)
- HetuEngine支持GaussDB数据源Number类型数据的最大精度不超过38位。