You need to enable JavaScript to run this app.
文档中心
大数据研发治理套件

大数据研发治理套件

复制全文
下载 pdf
数据源列表
配置 GBase8S 数据源
复制全文
下载 pdf
配置 GBase8S 数据源

GBase8S 数据源为您提供可视化读取脚本模式(DSL)读取、写入 GBase8S 数据库的能力,实现和不同数据源进行数据传输。
本文为您介绍 DataSail 的 GBase8S 数据同步的能力支持情况。

1 使用限制

  1. 目前仅支持 GBase 8s V8.8(兼容 openGauss、PostgreSQL、MySQL)以及 GBase 8s V8.8(兼容 Oracle)两个版本。
  2. DSL 模式写入 GBase8S 时,仅支持 directlyInsert 模式。

2 支持的字段类型

2.1 GBase 8s V8.8(兼容 openGauss、PostgreSQL、MySQL)

类型分类

子类型

数据类型

备注

整数类型

SHORT(2-bytes)

tinyint、smallint、smallserial

INT(4-bytes)

binary_integer、serial、int4

LONG(8-bytes)

bigserial、bigint

BIGINT(同Java BigInteger)

int16、largeserial

字符串类型

--

char、nchar、character、varchar、character varying、varchar2、nvarchar、nvarchar2、text、clob、name、reltime

浮点类型

FLOAT(单精度)

REAL、FLOAT4

DOUBLE(双精度)

FLOAT、FLOAT8、double precision、binary_double

DECIMAL(同Java BigDeciaml)

INTEGER[( p[,s])]、numeric、number、dec、money、decimal

布尔类型

--

BOOLEAN

日期时间类型

--

DATE,timestamp,time,smalldatetime

二进制类型

--

blob、raw、bytea

其他

--

point、lseg、box、path、inet、cidr、bit、bit varying、oid、cid、xid、tid、cstring、xml、hash16、hash32

会转为 string 处理

2.2 GBase 8s V8.8(兼容 Oracle)

类型分类

子类型

数据类型

备注

整数类型

SHORT(2-bytes)

SMALLINT、

INT(4-bytes)

INT、integer、serial

LONG(8-bytes)

bigserial、bigint、int8、serial8

字符串类型

--

char、character、character varying、nchar、nvarchar、text、varchar、varchar2、binary18、binaryvar、clob、lvarchar、xmltype

浮点类型

FLOAT(单精度)

real、smallfloat、

DOUBLE(双精度)

double precision、float

DECIMAL(同Java BigDeciaml)

decimal、dec、money、numeric

布尔类型

--

BOOLEAN

日期时间类型

--

DATE,timestamp

二进制类型

--

byte、blob

其他

--

list、distinct、lld_locator、lld_lob_data、multiset、opeque、node、set、row、st_linestring、st_multilinestring、st_point、st_polygon、st_multipoint、st_multipolygon、timeseries

会转为 string 处理

3 数据同步任务开发

3.1 数据源注册

新建数据源操作详见配置数据源,下面为您介绍用连接串方式配置 GBase8s 数据源信息:

参数

说明

基本配置

数据源类型

GBase8s

接入方式

连接串

数据源名称

数据源的名称,可自行设置,仅支持中文,英文,数字,“_”,100个字符以内。

参数配置

JDBC URL

填写连接 GBase8s 数据库的 JDBC 地址信息,不同模式填写示例如下:

  • Oracle 兼容模式:
    jdbc:gbasedbt-sqli://xxx.xxx.xx.xx:9091/databases:GBASEDBTSERVER=test;DB_LOCALE=zh_CN.utf8;CLIENT_LOCALE=zh_CN.utf8;NEWCODESET=UTF8,utf8,57372;
  • openGauss、PostgreSQL、MySQL 兼容模式:
    jdbc:opengauss://xxx.xxx.xx.xx:54321/school

用户名

有权限访问数据库的用户名信息。

密码

输入用户名对应的密码信息。

3.2 新建离线任务

GBase8s 数据源测试连通性成功后,进入到数据开发界面,开始新建 GBase8s 相关通道任务。
新建任务方式详见离线数据同步

3.3 可视化配置说明

任务创建成功后,您可根据实际场景,配置 GBase8s 离线读GBase8s 离线写等通道任务。

3.3.1 GBase8s 离线

数据来源选择 GBase8s,并完成以下相关参数配置:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。

参数

说明

*数据源类型

下拉选择 GBase8s 数据源类型。

*数据源名称

已在数据源管理中注册成功的 GBase8s 数据源,下拉可选。
若还未建立相应数据源,可单击数据源管理按钮,前往创建 GBase8s 数据源。

*Schema 目录

数据库下已有的 Schema 目录信息,下拉可选。

*数据表

下拉选择需要采集的数据表或视图名称信息。

数据过滤

支持您将需要同步的数据进行筛选条件设置,只同步符合过滤条件的数据,可直接填写关键词 where 后的过滤 SQL 语句,例如:create_time > '${date}',表示只同步 create_time 大于等于 ${date} 的数据,不需要填写 where 关键字。

说明

该过滤语句通常用作增量同步,暂时不支持 limit 关键字过滤,其 SQL 语法需要和选择的数据源类型对应。
如果不配置,默认会同步全量数据。

切分建

根据配置的字段进行数据分片,建议使用主键或有索引的列作为切分键:

  • 如果表没有主键或者索引列,可以不配置该字段,同步任务不会进行分片,并以单并发的方式同步所有的数据;
  • 建议使用主键或有索引的列作为切分键,切分键配置没有索引的列同步任务会比较慢;

说明

目前仅支持类型为整型或字符串的字段作为切分建。

3.3.2 GBase8s 离线写

目前暂不支持可视化配置离线数据写入 GBase8s,敬请期待。

3.3.3 字段映射

数据来源和目标端配置完成后,需要指定来源和目标端的字段映射关系,根据字段映射关系,数据集成任务将源端字段中的数据,写入到目标端对应字段中。
您可通过以下三种方式操作字段映射关系:

  • 自动添加:单击自动添加按钮,根据两端数据表信息,可以自动填充来源和目标的字段信息。
  • 手动添加:单击手动添加按钮,可以手动编辑来源和目标的字段信息,可以逐个添加。
  • 移动\删除字段:您也可以根据需要移动字段映射顺序或删除字段。

3.4 DSL 配置说明

GBase8s 数据源支持使用脚本模式(DSL)的方式进行配置。
在某些复杂场景下,或当数据源类型暂不支持可视化配置时,您可通过任务脚本的方式,按照统一的 Json 格式,编写 GBase8s Reader 和 GBase8s Writer 参数脚本代码,来运行数据集成任务。

3.4.1 进入 DSL 模式

进入 DSL 模式操作流程,可详见 MySQL 数据源-4.4.1 进入DSL 模式

3.4.2 GBase8s Reader

进入 DSL 模式编辑界面后,您可根据实际情况替换相应参数,GBase8s 离线读脚本示例如下:

{
  "job": {
    "common": {
      ...
    },
    "reader": {
      "type": "gbase8s",
      "datasource_id": null,
      "class": "com.bytedance.dts.batch.jdbc.GBase8sInputFormat",
      "connections": [
        {
          "slaves": [
            {
              "host": "*.*.*.*",
              "db_url": "jdbc:gbasedbt-sqli://host:port/dts_test:GBASEDBTSERVER=dtstest;DB_LOCALE=zh_CN.utf8;CLIENT_LOCALE=zh_CN.utf8;NEWCODESET=UTF8,utf8,57372;",
              "port": 9091
            }
          ],
          "shardNumber": 0
        }
      ],
      "user_name": "username",
      "password": "password",
      "db_name":"dts_test",
      "table_name": "foo",
      "split_pk":"cc",
      "columns" :[
        {
          "name":"cc",
          "type":"char"
        },
        {
          "name":"nc",
          "type":"nchar"
        }
      ]
    },
    "writer": {
      ...
    }
  }
}

Reader 参数说明,其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数:

参数名称

参数含义

*type

数据源类型,输入 GBase8S 类型的 Reader type,默认固定值填写:gbase8s

*datasource_id

填写注册的 GBase8S 数据源ID,可以在项目控制台 > 数据源管理界面中查找。

  • 目前 DSL 模式默认推荐不填写数据源 ID,这里请填写 null。
  • 若通过数据源 ID 方式配置,下方的 class、connections、user_name、password 参数可不输入。

*class

gbase8s reader connector type, 默认固定值com.bytedance.dts.batch.jdbc.GBase8sInputFormat

*connections

jdbc 类型数据源通用配置:

  • host:连接 GBase8S 数据库的 IP 地址。
  • db_url:需访问的数据库连接地址信息,不同模式连接信息不同,详见上方“3.1 数据源配置 - JDBC URL 参数说明”。
    以 Oracle 兼容模式为例 jdbc:gbasedbt-sqli://host:port/dts_test:GBASEDBTSERVER=dtstest;DB_LOCALE=zh_CN.utf8;CLIENT_LOCALE=zh_CN.utf8;NEWCODESET=UTF8,utf8,57372;
  • port:对应连接的端口号。

*user_name

有权限访问数据库的用户名信息。

*password

用户名对应的密码信息。

*columns

所配置的表中,需要同步的列名集合,使用 JSON 的数组描述字段信息。

*db_name

填写需读取的数据库名称。

*table_schema

填写需读取的 Hana 数据库中 Schema 名称。

*table_name

输入需同步的数据表或者视图名字信息。

filter

同步数据的过滤条件,同步数据时只会同步符合过滤条件的数据。

3.4.4 GBase8S Writer

根据实际情况替换 GBase8S Writer 相应参数,GBase8S Writer 脚本示例如下:

{
  "job": {
    "common": {
      ...
    },
    "reader": {
      ...
    },
    "writer": {
      "type": "gbase8s",
      "datasource_id": null,
      "class": "com.bytedance.dts.batch.jdbc.GBase8sOutputFormat",
      "write_mode": "directlyInsert",
      "user_name": "username",
      "password": "pdw",
      "db_name":"dts_test",
      "table_name": "foo",
      "connections": [
        {
          "host": "*.*.*.*",
          "db_url": "jdbc:gbasedbt-sqli://ip:port/dts_test:GBASEDBTSERVER=dtstest;DB_LOCALE=zh_CN.utf8;CLIENT_LOCALE=zh_CN.utf8;NEWCODESET=UTF8,utf8,57372;user=gbasedbt;password=123qweABC",
          "port": 9091
        }
      ],
      "columns" :[
        {
          "name":"cc",
          "type":"char"
        },
        {
          "name":"nc",
          "type":"nchar"
        }
      ]
    }
  }
}

Writer 参数说明,其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数:

参数名称

参数含义

*type

Reader type, 默认固定值 gbase8s
数据源类型,输入 GBase8S 类型的 Writer type,默认固定值填写:gbase8s

*datasource_id

填写注册的 GBase8S 数据源ID,可以在项目控制台 > 数据源管理界面中查找。

  • 目前 DSL 模式默认推荐不填写数据源 ID,这里请填写 null。
  • 若通过数据源 ID 方式配置,下方的 class、connections、user_name、password 参数可不输入。

*class

gbase8s reader connector type, 默认固定值com.bytedance.dts.batch.jdbc.GBase8sOutputFormat

*connections

jdbc 类型数据源通用配置:

  • host:连接 GBase8S 数据库的 IP 地址。
  • db_url:需访问的数据库连接地址信息,不同模式连接信息不同,详见上方“3.1 数据源配置 - JDBC URL 参数说明”。
    以 Oracle 兼容模式为例 jdbc:gbasedbt-sqli://host:port/dts_test:GBASEDBTSERVER=dtstest;DB_LOCALE=zh_CN.utf8;CLIENT_LOCALE=zh_CN.utf8;NEWCODESET=UTF8,utf8,57372;
  • port:对应连接的端口号。

*user_name

有权限访问数据库的用户名信息。

*password

用户名对应的密码信息。

*columns

所配置的表中,需要同步的列名集合,使用 JSON 的数组描述字段信息。

*db_name

填写需读取的数据库名称。

*table_schema

填写需读取的 Hana 数据库中 Schema 名称。

*table_name

输入需同步的数据表或者视图名字信息。

write_mode

仅支持 directlyInsert。

最近更新时间:2025.10.20 10:31:56
这个页面对您有帮助吗?
有用
有用
无用
无用