更新时间:2022-12-14 GMT+08:00

配置GAUSSDB数据源

操作场景

本章节指导用户在HSConsole界面添加GaussDB类型的JDBC数据源。

前提条件

  • 数据源所在集群域名与HetuEngine集群域名不能相同。
  • 数据源所在集群与HetuEngine集群节点网络互通。
  • 已创建HetuEngine计算实例。

操作步骤

  1. 使用HetuEngine管理员用户登录FusionInsight Manager,选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
  2. 在“概览”页签下的“基本信息”区域,单击“HSConsole WebUI”后的链接,进入HSConsole界面。
  3. 选择“数据源”。
  4. 单击“添加数据源”。在“添加数据源”页面填写参数。

    1. 配置“基本配置”,参数配置请参考表1
      表1 基本配置

      参数

      描述

      取值样例

      数据源名称

      对接的数据源的名称。

      只能包含字母、数字、下划线(_),仅字母开头。

      gaussdb_1

      数据源类型

      对接的数据源的类型。选择“JDBC > GAUSSDB-A”。

      GAUSSDB-A

      描述

      数据源的描述信息。

      只能包含汉字、英文字母、数字、中英文逗号、中英文句号、下划线(_)、空格和换行符。

      -

    2. 配置“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的用户和密码。

      -

    3. 配置Gauss数据源用户信息,参考表3 GaussDB用户信息配置
      “GaussDB用户信息配置”与“HetuEngine-GaussDB用户映射配置”要搭配使用,HetuEngine在对接的GaussDB数据源时,通过用户映射,使得HetuEngine的用户具备与GaussDB数据源被映射的用户访问GaussDB数据源时同样的权限。可以多个HetuEngine用户对应一个GaussDB用户。
      表3 GaussDB用户信息配置

      名称

      描述

      取值样例

      Data Source User

      数据源用户名称

      只能包含字母、数字、下划线(_)、中划线(-)和 英文句号 (.),仅以字母、下划线(_)开头, 并且最小长度为2个字符,最大长度不能超过100个字符。

      如果配置了数据源用户为gaussuser1,那么必须有映射到gaussuser1的HetuEngine用户。

      例如创建hetuuser1映射到gaussuser1

      Password

      对应数据源的用户认证密码

      -

    4. 配置 HetuEngine-GaussDB用户映射配置,参考表4 HetuEngine-GaussDB用户映射配置
      表4 HetuEngine-GaussDB用户映射配置

      名称

      描述

      取值样例

      HetuEngine User

      HetuEngine 用户名

      只能包含字母、数字、下划线(_)、中划线(-)和 英文 (.),仅以字母、下划线(_)开头, 并且最小长度为2个字符,最大长度不能超过100个字符。

      hetuuser1

      Data Source User

      数据源用户

      只能包含字母、数字、下划线(_)、中划线(-)和 英文句号 (.),仅以字母、下划线(_)开头, 并且最小长度为2个字符,最大长度不能超过100个字符。

      gaussuser1(表3中配置的数据源用户)

    5. 自定义配置。
      • 单击“增加”可以增加自定义配置参数。配置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

      • 单击“删除”可以删除已增加的自定义配置参数。
    6. 单击“确定”。
    • 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位。