DLC 数据源

最近更新时间:2024-06-19 17:57:11

我的收藏

DLC 环境准备与数据库配置

支持版本

版本
Driver
DLC2.x
dlc-jdbc:2.2.6.8

DLC 离线单表读取节点配置




参数
说明
数据来源
可用的 DLC 数据源。
支持选择、或者手动输入需读取的库名称。
默认将数据源绑定的数据库作为默认库,其他数据库需手动输入库名称。
当数据源网络不联通导致无法直接拉取库信息时,可手动输入数据库名称。在数据集成网络连通的情况下,仍可进行数据同步。
支持选择、或者手动输入需读取的表名称。
切割键
指定用于数据分片的字段,指定后将启动并发任务进行数据同步。您可以将源数据表中某一列作为切分键,建议使用主键或有索引的列作为切分键。
筛选条件(选填)
在实际业务场景中,通常会选择当天的数据进行同步,将 where 条件指定为 gmt_create>$bizdate。
where 条件可以有效地进行业务增量同步。
如果不填写 where 语句,包括不提供 where 的 key 或 value,数据同步均视作同步全量数据。
高级设置(选填)
可根据业务需求配置参数。

DLC 离线单表写入节点配置




参数
说明
数据去向
需要写入的 DLC 数据源。
支持选择、或者手动输入需写入的库名称。
默认将数据源绑定的数据库作为默认库,其他数据库需手动输入库名称。
当数据源网络不联通导致无法直接拉取库信息时,可手动输入数据库名称。在数据集成网络连通的情况下,仍可进行数据同步。
支持选择、或者手动输入需写入的表名称。
当数据源网络不联通导致无法直接拉取表信息时,可手动输入表名称。在数据集成网络连通的情况下,仍可进行数据同步。
当来源表为 MySQL、ES、Kafka 类型,支持一键建立目标表。
写入模式
DLC 写入支持三种模式:
overwrite:覆盖原有数据写入。
append:追加写入,主键冲突时报错。
upsert:更新写入,主键冲突时更新数据。
高级设置(选填)
可根据业务需求配置参数。

数据类型转换支持

读取

DLC 数据类型
内部类型
INTEGER
Long
FLOAT、DOUBULE、DECIMAL
Double
STRING、VARCHAR、CHAR、ARRAY
String
TIMESTAMP、DATE、TIMESTAMP WITH TIME ZONE
Date
BOOLEAN
Boolean

写入

内部类型
DLC 数据类型
Long
INTEGER
Double
FLOAT、DOUBULE、DECIMAL
String
STRING、MAP、STRUCT
Date
TIMESTAMP、DATE、TIMESTAMP WITH TIME ZONE
Boolean
BOOLEAN
Bytes
BINARY

常见问题

1. DLC 字段实际值为 null 但读出的值为''空字符串,导致转为 LONG 类型报脏数据

问题原因:
由于集成 DLC 读取任务是向 dlc 提交查询 sql,dlc 引擎处理完毕后集成直接读取的结果文件,文件中会把 null 处理成空字符串,而在集成这边又不支持处理成指定值。
解决方案:
在配置任务时使用 DLC 函数 IFNULL 进行转换,将值的预处理在 dlc 引擎那边完成。其它类似情况都可参考使用 DLC 函数。