CaptureChangeMySQL 2025.5.31.15¶
捆绑包¶
com.snowflake.openflow.runtime | runtime-database-cdc-processors-nar
描述¶
从 MySQL 数据库读取 CDC 事件。处理器持续读取二进制日志文件中的事件,筛选与 TableStateService 提供的表相关的事件,并丢弃其余文件。处理器输出两种类型的 FlowFile:– 包含表架构的 DDLs(初始架构和每次架构更改的新架构)。– 记录表示表中数据变更的 DMLs。一个 FlowFile 始终代表与单个表相关的数据。将 DDL 架构作为 JSON 对象写入 FlowFile 内容:{ "columns": [ { "name": "<columnName>", "type": "<snowflakeType>", "nullable": <true|false>, "scale": <scale>, "precision": <precision> }, ... ], "primaryKeys": ["<primaryKey1>", "<primaryKey2>", ...]} 包含 DML 记录的 FlowFiles 结构:{ "primaryKeys": { "<column>": <value>, ... }, "payload": { "<column>": <value>, ... }, "metadata": { "<column>": <value>, ... }}
输入要求¶
FORBIDDEN
支持敏感的动态属性¶
false
属性¶
属性 |
描述 |
---|---|
列筛选存储 |
存储每个表列筛选设置的服务。 |
连接超时 |
与源数据库的连接超时 |
JDBC 驱动程序位置 |
以逗号分隔的文件/文件夹列表和/或 URLs,包含驱动程序 JAR 及其依赖项(如果有)。例如“/var/tmp/mariadb-java-client-3.4.1.jar” |
JDBC URL |
数据库连接的 JDBC URL,即 jdbc:mariadb://localhost:3306/mysql |
最大批处理大小 |
单次迭代中要处理的最大记录数。当最后一个二进制日志事件包含多行时,记录数可能会超过最大批处理大小。 |
最长批处理等待时间 |
等待数据出现在二进制日志中的最长时间。 |
最大队列规模 |
读取器线程等待 onTrigger 之前从二进制日志中读取的最大元素数 |
密码 |
访问 MySQL 数据库的密码 |
记录写入器 |
用于序列化 DML 事件的记录写入器 |
SSL Context Service |
支持加密套接字通信的 SSL Context Service |
SSL 模式 |
SSL Context Service 配置支持证书验证选项时所用的 SSL 模式 |
服务器 ID |
服务器 ID(在 1 到 2^32 – 1 的范围内)。该值在整个复制组中 MUST 是唯一的(即,不同于任何主服务器或从属服务器所用的任何其他服务器 ID)。请记住,每个二进制日志客户端都应被视为简化的从属服务器,因此 MUST 使用不同的服务器 ID。 |
服务器 ID 策略 |
确定如何选择服务器 ID |
表状态存储 |
保存复制表状态的共享存储。 |
用户名 |
访问 MySQL 数据库的用户名 |
状态管理¶
范围 |
描述 |
---|---|
CLUSTER |
该处理器会存储数据库中当前 CDC 事件的“pointer”等信息,以便在重新启动时从同一位置继续运行。 |
关系¶
名称 |
描述 |
---|---|
success |
通过 CDC 流活动成功创建 FlowFile |
写入属性¶
名称 |
描述 |
---|---|
source.schema.name |
事件来源表的架构名称 |
source.table.name |
事件来源表的名称 |
cdc.event.type |
FlowFile 携带的事件类型:ddl 或 dml |
cdc.most.significant.position |
Ddl 在 cdc 流中最重要的位置 |
cdc.least.significant.position |
Ddl 在 cdc 流中最不重要的位置 |
cdc.event.seen.at |
处理器读取 ddl 事件的时间戳 |