schema(scheme)用于配置整个数据同步逻辑,其配置可以引用repo和datasource中的资源

schema(scheme)配置项 类型 说明
enable boolean 是否启用当前同步方案
template Object 模板配置,参考同步方案配置
extract scheme.extract配置项 定义数据更新规则
load scheme.load配置项 定义数据更新规则

使用同步方案模板

template配置项 类型 说明
name String 配置模板名称
items Map<String, Object> 配置模板变量值

数据提取规则配置

extract 用于定义提取数据逻辑

scheme.extract配置项 类型 说明
type hermesjdbcservice(枚举字符串) hermes:增量。jdbc:全量
is_log_change(is-log-change) boolean 控制变化数据是否打印到日志(type属于hermes才能生效)
pre_piplines(pre-pipelines) List<piplines配置项> 用于处理提取的数据type属于hermes才能生效
piplines(pipelines) List<piplines配置项> 用于处理提取的数据
retry_stage(retry-stage) INCREASESAME(枚举字符串) 重试策略 (type属于hermes才能生效)
retry_interval_milliseconds(retry-interval-milliseconds) long 重试间隔(毫秒)
  • retry_stage配置说说明: 当同步失败时使用的重试策略,可用INCREASESAME

    • INCREASE:重试时间间隔按规则增加(重试时间间隔 * 重试次数)
    • SAME: 重试时间间隔固定
  • piplines配置说说明:pre_piplinespiplines两个配置项的配置都是一样的,piplines的目的是在在数据被extract(提取)之后load(更新)之前,做一些额外的加工处理。

piplines配置项 类型 说明
type script piplines类型,目前只支持script
file_url(file-url) String JavaScript代码文件路径
code String JavaScript代码,这个属性目前没有用

提示: 目前的piplines处理只支持使用JavaScript脚本来处理,使用piplines有利有弊。优势:灵活性比SQL高;缺点:不易调试,开发难度高。所以大部分情况下,不建议使用。

数据更新规则配置

load 用于定义数据的更新(增、删、改)逻辑

scheme.load配置项 类型 说明
type jdbckafkaservicerabbitmq 定义 目标数据源类型
batch_size(batch-size) int load批量操作的数据量, type=servicerabbitmq时才有效
batch_skip_error(batch-skip-error) boolean 批量load时是否跳过错误, type=service时才有效
文档更新时间: 2020-06-10 16:40   作者:lizw