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

大数据研发治理套件

复制全文
下载 pdf
高级参数
配置 Postgres CDC 高级参数
复制全文
下载 pdf
配置 Postgres CDC 高级参数

在解决方案的相应场景中,PostgreSQL CDC Source Connector 会通过 WAL 日志实时读取 PostgreSQL 数据,进行数据同步。本文将详细介绍如何配置 PostgreSQL CDC Connector 的各项高级参数,来帮助您优化任务性能并规避常见问题。

连接与鉴权类参数

job.reader.connections

参数概述

  • 参数名:job.reader.connections
  • 类型:List<ClusterInfo>
  • 默认值:通常由数据源配置动态注入
  • 核心作用:提供 PostgreSQL 连接地址信息;当前实现通常只使用第一个 cluster 的 master(host/port/db_url)。

适用场景

当作业启动阶段报“无法建立连接/缺少连接信息/连接列表为空”等问题时,优先检查此参数是否被正确注入。

推荐配置 / 使用说明

  • 生产环境建议使用 稳定的主库或逻辑复制可读实例 作为 master 地址,并确保网络连通、账号权限满足 CDC 要求。
  • db_url 里建议显式设置 sslmode(例如 disable/require),避免环境差异导致握手失败。

注意事项

  • 该参数为空通常会直接导致作业启动失败。
  • 若一个数据源存在多个 cluster,当前链路通常不会自动做主备切换;请通过平台数据源或连接信息保证可用性。

总结说明

job.reader.connections 定义了连接器访问 PostgreSQL 的地址集合,通常由数据源接入自动注入。只要该信息缺失或不可达,CDC 作业就无法启动;调参更多是“确保连接正确和稳定”,而不是追求性能优化。

job.reader.user_name

参数概述

  • 类型:String
  • 默认值:通常由数据源配置动态注入
  • 核心作用:连接 PostgreSQL 的用户名。

使用说明

  • 确保该账号具备逻辑复制/读取 WAL 所需权限(具体权限以 DB 管理规范为准)。
  • 如果你在一个 PostgreSQL 上跑多个 CDC 任务,建议为不同任务分配不同账号或至少区分 slot 命名,避免运维混淆。

注意事项

  • 为空会导致作业启动失败。

总结说明

job.reader.user_name 是数据库连接必填项,一般由数据源接入注入;只需要保证账号权限与连通性即可。

job.reader.password

参数概述

  • 类型:String
  • 默认值:通常由数据源配置动态注入
  • 核心作用:连接 PostgreSQL 的密码。

使用说明

  • 建议使用平台密钥/密文托管能力,避免在作业配置中明文保存。

注意事项

  • 明文泄漏风险高;排障时也不要把密码打到日志或工单里。

总结说明

job.reader.password 仅用于鉴权,正确性与安全性优先,通常不参与性能调优。

job.reader.db_name

参数概述

  • 类型:String
  • 默认值:通常由数据源配置动态注入
  • 核心作用:指定要连接与采集的 PostgreSQL 数据库名;同时会参与连接器内部命名(例如默认 server name、slot name 的生成)。

适用场景

  • 同一实例存在多个数据库时,需要保证填对目标库。

注意事项

  • 该参数在本连接器实现中属于“必填项”,缺失会启动失败。

总结说明.reader.db_name 决定了连接器连接到哪个数据库,也是内部命名与状态隔离的重要输入;请确保与实际采集库一致。

任务标识与命名类参数

job.common.job_id

参数概述

  • 类型:Long
  • 默认值:通常由任务上下文注入
  • 核心作用:作为任务身份标识;在未指定 job.reader.identifier / job.reader.server_name 时,会参与默认命名。

使用说明

  • 通常无需手工配置;如果平台要求必填,请确保不同任务的 job_id 不冲突。

总结说明

job.common.job_id 更像是任务的“身份证”,一般由平台自动管理;你通常不需要围绕它做调参。

job.reader.identifier

参数概述

  • 类型:String
  • 默认值:无(仅多源/多实例场景建议配置)
  • 核心作用:用于生成默认的 server name / slot name,并可能写入部分元数据字段;在同库多任务场景下用于避免命名冲突。

适用场景

  • 同一个 PostgreSQL 实例、同一个数据库上跑多个 CDC 任务;或一个任务里做多路 source 聚合时。

推荐配置 / 使用说明

  • 推荐把它配置成“可读且稳定”的标识,例如 sail_${datasourceId}_postgres 或 bizA_pg_cdc_01。

参数联动

  • 若你没有显式配置 job.reader.slot_name,identifier 往往会影响 slot 的默认生成策略;多任务场景建议 两者至少配一个,优先推荐直接配 slot_name。

总结说明

job.reader.identifier 的价值在于“避免多任务在同一库上互相踩名字”;如果你遇到 slot/server name 冲突或想让运维更可控,优先把它配上。

job.reader.server_name

参数概述

  • 类型:String
  • 默认值:通常为 pg_cdc_ + taskId(不同平台/版本可能略有差异)
  • 核心作用:覆盖 Debezium 的逻辑 server name(用于区分 offset/分区命名空间等)。

适用场景

  • 多任务同库采集,且希望 Debezium 内部状态/offset 命名空间严格隔离。

推荐配置 / 使用说明

  • 保持稳定、全局唯一即可;建议仅包含字母数字和下划线,避免特殊字符带来的兼容性问题。

注意事项

  • 如果你改了 server_name,在某些平台/运行方式下可能会导致“被视为新任务”而无法复用历史 offset(表现为重新从某个位点开始)。修改前建议评估恢复策略。

总结说明.reader.server_name 用于给 Debezium 的状态与 offset 做命名隔离;多任务/多环境场景下合理设置能减少冲突,但随意改动可能影响历史状态复用。

采集范围(schema/table)与过滤类参数

job.reader.schema_include_list

参数概述

  • 类型:List<String>(常见写法是 JSON 字符串数组)
  • 默认值:无(推荐显式配置)
  • 核心作用:限定要采集哪些 schema(支持正则)。

适用场景

  • 你只想采集 public,或只想采集业务 schema(避免把系统 schema、临时表等也纳入)。

推荐配置 / 使用说明

  • 单 schema(最常见):
"schema_include_list": "[\"((?=^public$)).*\"]"
  • 多 schema:用数组形式列出多个正则。

注意事项

  • 正则的转义非常容易出错;如果你发现“明明配了但没采到表”,优先检查转义。
  • 配置了 job.reader.postgres_ddl_table 时,连接器可能会自动把 DDL 表所在 schema 追加进 include list(避免 DDL 事件被漏采)。

总结说明

job.reader.schema_include_list 用来控制“采哪些 schema”。生产建议尽量收敛范围,减少误采与无关流量。

job.reader.table_include_list

参数概述

  • 类型:List<String>(常见写法是 JSON 字符串数组)
  • 默认值:无(推荐显式配置)
  • 核心作用:限定要采集哪些表(支持正则)。

适用场景

  • 只采集某些表,或需要用正则一次性覆盖一批分表(例如 order_2026.*)。

推荐配置 / 使用说明

  • 建议写成“schema.table”维度的正则,减少歧义。例如:
"table_include_list": "[\"((?=.*\\\\.(?:t_order|t_user)$)).*\"]"

参数联动

  • 与 schema_include_list 共同决定最终采集集合;建议两者都配,避免范围过大。
  • 若设置了 postgres_ddl_table,连接器可能会把该表追加进 include list。

注意事项

  • 正则里包含 , 时建议配合 job.reader.auto_escape_include_list_comma=true,减少手工转义负担。

总结说明

job.reader.table_include_list 是最常用的“采集范围开关”。范围越精确,越有利于稳定与成本控制。

job.reader.database_include_list

参数概述

  • 类型:List<String>
  • 默认值:无
  • 核心作用:理论上用于限定数据库,但在 Postgres CDC v3 链路中 不支持/不生效,并可能在配置阶段被清空。

使用说明

  • 不建议依赖该参数做过滤;请使用 schema_include_list 与 table_include_list。

总结说明

在 Postgres CDC v3 里,database_include_list 不是有效的过滤手段;请用 schema/table 维度来控制采集范围。

job.reader.auto_escape_include_list_comma

参数概述

  • 类型:Boolean
  • 默认值:true
  • 核心作用:自动把 include list 正则里的 , 转义为 \\,,降低正则配置的“转义踩坑”。

适用场景

  • 你的正则表达式里需要匹配/包含逗号(,),或你不确定下游解析对逗号的处理方式。

调参建议

  • 默认推荐:保持 true。
  • 只有在你明确知道自己写的正则已经完成了正确转义,且自动转义导致匹配异常时,才考虑设为 false。

总结说明o_escape_include_list_comma 是一个“减少正则转义错误”的保护参数,通常保持默认即可。

job.reader.postgres_ddl_table

参数概述

  • 类型:String
  • 默认值:可能由平台生成(常见格式:{schema}._sail_pg_ddl_{uuid})
  • 核心作用:指定一个“DDL 工具表”,连接器会把该表产生的记录识别为 DDL 事件来源,并触发 schema 变更处理。

适用场景

  • 你需要同步 DDL(表结构变更),且上游以“往某张 DDL 表写入 DDL 语句”的方式传递 schema change。

推荐配置 / 使用说明

  • 建议显式指定一个固定且受控的 DDL 表名,避免因 UUID 变化导致运维侧难以定位。
  • 一般格式为 schema.table(例如 public._sail_pg_ddl_xxx)。

参数联动

  • 配置该参数后,连接器可能会:
    • 自动把该表追加进 schema_include_list / table_include_list(避免 DDL 事件被过滤掉);
    • 自动追加 exclude 规则,避免误采与该 DDL 表同名的业务表。

注意事项

  • 如果你不使用 DDL 表传递 schema 变更,则无需配置该参数。

总结说明

postgres_ddl_table 用于把“DDL 事件”从普通数据变更里区分出来。只有在你的链路确实通过 DDL 表传递 schema change 时,它才是必需的。

启动位点(WAL/LSN)类参数

job.reader.initial_offset_type

参数概述

  • 类型:String
  • 默认值:latest
  • 可选值:常见有 earliest / latest / timestamp / specified
  • 核心作用:在“首次启动或没有可恢复状态”的情况下,决定从哪个位点开始消费 WAL。

适用场景

  • 新建任务:希望从现在开始追增量(latest)或希望回溯历史(earliest)。
  • 排障/补数:希望从某个明确 LSN/时间点附近开始(specified / timestamp)。

调参建议 / 推荐配置

  • 默认推荐:latest(实时追增量,风险最低)。
  • 需要回溯:选择 earliest,但要评估 WAL 保留、数据库压力与回放时长。
  • 精确起点:选择 specified 并通过 initial_offset_props 提供关键字段。

注意事项

  • 该参数往往只在“没有 checkpoint/savepoint 可恢复”时生效;一旦任务进入稳定运行,后续重启会优先从状态恢复。

总结说明

initial_offset_type 决定“第一次从哪开始读 WAL”。默认 latest 更偏实时;需要回溯或精确定位起点时再改。

job.reader.initial_offset_timestamp

参数概述

  • 类型:Long
  • 默认值:无
  • 生效条件:仅当 initial_offset_type=timestamp 时生效
  • 核心作用:指定一个时间点,让连接器从该时间点附近的位点启动。

使用说明

  • 推荐在“排障回放/补偿消费”场景使用,并优先配合小并发、小范围表来验证。

注意事项

  • “时间点到 LSN 的映射”受数据库与连接器实现影响,可能不是严格的毫秒级精确对齐;如果你需要严格从某个 LSN 开始,请使用 specified。

总结说明

initial_offset_timestamp 适合按时间粗粒度定位起点;要更精确请用 specified + initial_offset_props。

job.reader.initial_offset_props

参数概述

  • 类型:Map<String,String>
  • 默认值:无
  • 生效条件:仅当 initial_offset_type=specified 时生效
  • 核心作用:直接提供起始 offset 的细节字段(Postgres 常见字段包括 lsn、ts_usec 等)。

推荐配置 / 使用说明

  • 常见写法示例:
"initial_offset_type": "specified",
"initial_offset_props": {
  "lsn": "777E/AE3F0000",
  "ts_usec": "1735871975038"
}
  • 如果你只是想“从当前开始追增量”,不要使用该参数,直接用默认 latest 即可。

注意事项

  • 该参数属于高风险排障/回放能力:配置错误可能导致漏数或重复消费。建议改动前明确预期,并做好下游去重或回滚预案。

总结说明

initial_offset_props 让你能指定一个明确的 WAL 起点,适合补偿与排障;但风险更高,建议谨慎使用。

逻辑复制 slot / plugin 与兼容类参数

job.reader.plugin_name

参数概述

  • 类型:String
  • 默认值:pgoutput
  • 核心作用:指定 PostgreSQL logical replication 的输出插件(决定 WAL 解码格式)。

适用场景

  • 你使用非默认插件(例如环境历史原因采用 wal2json 等),需要与数据库侧配置一致。

调参建议

  • 默认推荐:保持 pgoutput。
  • 修改前请确认数据库已安装/启用对应插件,并且 Debezium/连接器链路支持该插件的输出格式。

总结说明

plugin_name 需要与数据库侧逻辑复制插件一致;通常不需要改,改动前要先确认兼容性。

job.reader.slot_name

参数概述

  • 类型:String
  • 默认值:不配置时会自动生成(命名策略与 identifier/db_name/job_id/solution_id 相关)
  • 核心作用:指定 PostgreSQL replication slot 名,用于持续消费 WAL。

适用场景

  • 生产强烈建议显式配置:便于运维定位、清理与权限管理,并避免多任务冲突。

推荐配置 / 使用说明

  • 推荐配置成“稳定、可读、全局唯一”的名字,例如:
    • dts_pg_${job_id}
    • bizA_pgcdc_${db_name}_01

参数联动

  • 与 job.reader.identifier、job.reader.slot_name_format_version、job.common.solution_id 存在联动:当你未显式设置 slot_name 时,连接器会基于这些参数做自动生成与兼容。

注意事项

  • 同一库上多个任务 不能 复用同一个 slot(除非你非常明确在做“任务迁移/接管”,且确保旧任务已停止)。
  • slot 一旦创建会占用 WAL 保留;长期不消费或消费过慢,会导致 WAL 膨胀。

总结说明

slot_name 是 Postgres CDC 的核心运维点。生产建议显式配置并保持稳定,避免自动生成带来的不可控与冲突。

job.reader.slot_name_format_version

参数概述

  • 类型:String
  • 默认值:v2
  • 可选值:v1 / v2
  • 核心作用:影响“自动生成 slot_name 的格式”,主要用于兼容历史任务命名。

适用场景

  • 你需要接管/迁移一条历史链路,且历史 slot 命名为旧规则(v1)。

调参建议

  • 新任务保持默认 v2。
  • 只有在“明确要复用历史 slot”且已确认历史命名规则时,才切换到 v1。

总结说明

slot_name_format_version 是典型的“兼容参数”。新任务默认 v2 即可;迁移接管历史任务时再按需调整。

job.common.solution_id

参数概述

  • 类型:Long
  • 默认值:无(通常由平台上下文注入)
  • 核心作用:主要用于 slot 自动命名与历史兼容逻辑:在某些平台场景下会尝试复用同 solution 的空闲 slot。

使用说明

  • 如果你已经显式配置了 job.reader.slot_name,通常无需依赖该兼容逻辑。

注意事项

  • 在部分兼容逻辑下,可能会对历史空闲 slot 做清理动作;生产建议优先通过显式 slot_name 管控,减少“自动复用/自动清理”的不确定性。

总结说明

solution_id 更多是平台侧的历史兼容字段。对用户而言,最稳妥的做法仍是显式配置 slot_name,把运维可控性握在自己手里。

Checkpoint 与 LSN 提交节奏类参数

job.reader.scan-lsn-commit-checkpoints-num-delay

参数概述

  • 类型:Integer
  • 默认值:1
  • 核心作用:控制在 checkpoint 完成后,延迟多少次 checkpoint 才提交对应的 LSN。值越大,提交越“滞后”。

适用场景

  • 你观察到数据库侧 WAL 文件回收不连续、WAL 膨胀明显,且怀疑与“过于频繁提交 LSN”有关。

调参建议 / 推荐配置

  • 默认推荐:1。
  • WAL 回收压力大:可尝试逐步调大(例如 2、3),观察 WAL 增长与作业端到端延迟的变化。

注意事项

  • 该参数的 trade-off 很明确:
    • 调大:可能更利于 WAL 连续回收,但在极端失败场景下可能带来更大的重放量(恢复时需要从更旧的 LSN 开始)。
    • 调小:提交更及时,恢复更“精确”,但可能更频繁触发数据库侧相关开销。

总结说明n-lsn-commit-checkpoints-num-delay 用于平衡“LSN 提交频率”与“WAL 回收/恢复重放量”。只有当你确实遇到 WAL 回收相关压力时才建议调大,并建议小步试探。

DDL 解析与容错类参数

job.reader.skip_ddl_parse_error

参数概述

  • 类型:Boolean
  • 默认值:false
  • 核心作用:当连接器解析 DDL 失败时,是否跳过该 DDL 并继续运行。

适用场景

  • 你遇到少量“非核心/可忽略”的 DDL(或不被解析器支持的 DDL)导致任务频繁失败,但业务允许先保证数据增量不断流。

调参建议

  • 默认推荐:保持 false(让异常尽早暴露,避免悄悄漏掉 schema 变更)。
  • 容错优先:设为 true,并配合 skip_ddl_pattern 过滤已知可跳过的 DDL。

注意事项

  • 设为 true 并不等于“schema 变更被正确处理”,它只是让任务不中断;下游可能仍需人工修正 schema。

总结说明

skip_ddl_parse_error 是一个“保任务不断流”的容错开关。打开它可以减少因少量 DDL 解析问题导致的任务失败,但也意味着你需要额外关注 schema 是否一致。

job.reader.skip_ddl_pattern

参数概述

  • 类型:String(正则表达式)
  • 默认值:(?is).*REPLICA\\s+IDENTITY\\s+.*
  • 核心作用:当 DDL 文本匹配该正则时,连接器会直接跳过该 DDL 的解析与处理。

适用场景

  • 你明确知道某类 DDL 不影响下游(或下游不需要感知),但解析器暂不支持,导致任务失败或告警噪音。

调参建议

  • 在开启 skip_ddl_parse_error=true 的前提下使用效果更明确。
  • 建议只加入“你非常确定可跳过”的 DDL 类型,并保持正则尽量精确,避免误跳过关键 DDL。

总结说明

skip_ddl_pattern 用于跳过特定 DDL 类型,减少不必要的解析失败。它应当是一个“白名单式”配置:只跳过你确定无影响的语句。

Debezium 透传与时区类参数

job.reader.debezium

参数概述

  • 类型:Map<String,String>
  • 默认值:无
  • 核心作用:把任意 Debezium 配置 key/value 透传给底层 Debezium,并覆盖连接器默认值。

适用场景

  • 需要配置 Debezium 原生能力(例如 publication 创建策略、publication 名称、心跳、删除语义等)。
  • 遇到 Debezium 相关行为需要定制(例如某些字段类型处理策略)。

推荐配置 / 使用说明

  • 常见写法示例(publication):
"debezium": {
  "publication.autocreate.mode": "filtered",
  "publication.name": "dbz_publication"
}
  • 如果平台把 debezium 以字符串形式注入,也可能出现:
"job.reader.debezium": "{\"publication.autocreate.mode\":\"filtered\",\"publication.name\":\"dbz_publication\"}"

注意事项

  • 这是一个“高自由度、高风险”的入口:透传参数可能改变一致性、性能、心跳节奏、字段解析等行为。
  • 建议遵循:小流量验证、一次只改一个 key、记录变更前后行为与指标。

总结说明

job.reader.debezium 让你能直接控制 Debezium 的高级行为。它很强大,但也容易引入副作用;生产建议谨慎、小步试探。

job.reader.connection_timezone

参数概述

  • 类型:String
  • 默认值:UTC
  • 核心作用:指定连接时区(会影响时间类型字段的解析与语义对齐)。

适用场景

  • 你发现下游时间字段出现系统性偏移(例如统一偏差 8 小时),且确认源库字段类型/写入方式与时区相关。

调参建议

  • 数据一致性优先:保持与源库/业务语义一致的时区(例如 Asia/Shanghai)。
  • 修改后建议挑选包含时间字段的表做端到端校验。

总结说明

connection_timezone 主要用于时间语义对齐。当你遇到时间字段偏移时,再考虑调整;否则保持默认 UTC 即可。

Debezium 队列、背压与吞吐类参数

job.reader.poll_interval_ms

参数概述

  • 类型:Long
  • 默认值:500(毫秒)
  • 核心作用:当 Debezium 内部队列为空时,轮询等待的 sleep 间隔。它会影响 CPU 占用与端到端延迟的权衡。

适用场景

  • 延迟敏感:希望更快感知新 WAL 事件。
  • CPU 敏感:希望降低空转轮询带来的 CPU 消耗。

调参建议 / 推荐配置

  • 延迟优先:适当调小(例如 100~200ms),预期效果是更快拉取到新事件,但 CPU 占用可能上升。
  • 资源优先:保持默认或调大,空闲期 CPU 更低,但新事件到达后可能有额外等待。

注意事项

  • 在部分平台/历史配置里可能出现 job.reader.poll_interval(无 _ms)的写法;如你不确定平台是否做了兼容映射,建议以平台实际可识别的 key 为准。

总结说明

poll_interval_ms 本质是在“空闲轮询”时做延迟与 CPU 的平衡:调小更实时,调大更省资源。

job.reader.max_batch_size

参数概述

  • 类型:Integer
  • 默认值:2048
  • 核心作用:Debezium 队列单次 poll 的最大 batch 条数。

适用场景

  • 吞吐不足:希望减少 poll 次数、提升批处理效率。
  • 端到端抖动明显:希望降低单次批量过大带来的处理时延。

调参建议 / 推荐配置

  • 吞吐优先:可适当调大(例如 4096),但要观察延迟与内存。
  • 实时性优先:可调小(例如 512~1024),代价是 poll 更频繁。

总结说明

max_batch_size 决定了“每次拉一大批还是多次拉小批”。调大偏吞吐,调小偏实时。

job.reader.max_queue_size

参数概述

  • 类型:Integer
  • 默认值:8192
  • 核心作用:Debezium 队列的容量上限;影响吞吐缓存能力与内存占用。

适用场景

  • 上游变更突增(短时高峰):希望队列能缓冲更多事件,减少频繁背压。
  • 内存紧张:希望降低队列占用。

调参建议

  • 吞吐优先:可适当调大,但要结合 TaskManager 内存与 GC 情况评估。
  • 内存优先:可调小,但过小可能限制吞吐并放大背压。

总结说明

max_queue_size 是“用内存换缓冲”的参数。调大更抗峰值,但更占内存;调小更省内存,但可能更容易背压。

输出元数据字段相关参数

job.reader.meta_db_seq_enabled

参数概述

  • 类型:Boolean
  • 默认值:true
  • 核心作用:是否输出 _db_seq_ 这类序列元数据字段(用于辅助排序、排障或下游去重策略)。

适用场景

  • 下游需要一个“近似单调递增”的序列辅助排查乱序、定位丢/重。

调参建议

  • 默认推荐:保持 true。
  • 如果下游严格 schema 控制、且不希望引入额外字段,可设为 false。

总结说明

meta_db_seq_enabled 控制是否携带序列元数据字段。它对排障很有帮助,但也会改变输出 schema。

job.reader.meta_latency_timestamp_enabled

参数概述

  • 类型:Boolean
  • 默认值:true
  • 核心作用:是否输出延迟相关的元数据字段(例如输入时间、事件时间等,具体字段名以平台/版本为准)。

适用场景

  • 你需要观测“源端产生到作业处理/落地”的延迟,并希望在数据侧带上时间戳便于分析。

调参建议

  • 默认推荐:保持 true。
  • 如果下游对 schema 极其敏感,且你不需要在数据侧做延迟分析,可设为 false。

总结说明a_latency_timestamp_enabled 让你能在数据里直接观测延迟相关信息,建议默认打开以提升可观测性。

job.reader.src_meta_info_column_enabled

参数概述

  • 类型:Boolean
  • 默认值:false
  • 核心作用:是否输出一个“源表/源实例信息”的元数据字段(默认字段名见 src_meta_info_column_name)。

适用场景

  • 多表采集、或下游需要按来源表进行路由/落库分表时,希望在记录里携带来源标识。

调参建议

  • 多表/多源强烈建议开启:便于下游识别来源。
  • 单表且下游不需要来源信息,可保持默认关闭。

参数联动

  • 开启后建议同步检查 src_meta_info_column_name 与下游 schema 兼容性。

总结说明

src_meta_info_column_enabled 是“多表链路可观测性”常用开关:开启后记录会带来源信息,更利于下游路由与排障。

job.reader.src_meta_info_column_name

参数概述

  • 类型:String
  • 默认值:_src_meta_info_
  • 核心作用:配置来源信息元数据字段的列名。

适用场景

  • 下游有命名规范(例如必须大写/必须无下划线),或与已有字段冲突,需要改名。

参数联动

  • 与 job.common.cdc_multiplex_record_case_insensitive 存在联动:在某些多路复用/大小写兼容模式下,字段名可能被自动转换为大写。

总结说明_meta_info_column_name 用于控制元数据列名。改名的首要原则是“避免与业务字段冲突,并与下游 schema 规范一致”。

job.common.cdc_multiplex_record_case_insensitive

参数概述

  • 类型:Boolean
  • 默认值:true
  • 核心作用:影响多路复用记录场景下的字段名大小写兼容;常见表现是 _src_meta_info_ 这类字段名可能被自动转为大写。

适用场景

  • 下游系统对字段名大小写不敏感或希望统一大写/小写,避免因为大小写不一致导致 schema 对不上。

调参建议

  • 默认推荐:保持 true。
  • 只有在你明确需要保留原始字段名大小写,且下游严格区分大小写时,才考虑设为 false 并做端到端验证。

总结说明

cdc_multiplex_record_case_insensitive 用于减少大小写导致的兼容问题。大多数情况下保持默认即可。

指标与可观测性类参数

job.common.metric_ttl

参数概述

  • 类型:Integer(秒)
  • 默认值:平台常见为 1800(30 分钟);引擎侧可能表现为 -1(以实现为准)
  • 核心作用:控制 SourceReader 指标在运行期保留的 TTL,影响指标可观测性与状态占用。

适用场景

  • 你希望指标能保留更久,便于排障回看;或希望更短保留以减少指标相关开销。

调参建议

  • 排障优先:可适当调大(例如 3600),提升可观测性。
  • 资源优先:可调小,但过小可能导致某些指标在低频更新场景下频繁过期。

总结说明

metric_ttl 决定了“指标在内存里保留多久”。排障与可观测性更重要时可调大;资源更敏感时可调小。

最近更新时间:2026.05.07 14:11:24
这个页面对您有帮助吗?
有用
有用
无用
无用