基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
如何跳过 DDL
更新时间:2023-12-19 09:16
本文为您介绍如何跳过 DDL。
背景信息
对于导致增量同步项目报错的 DDL 语句,您可以通过更新组件配置进行跳过。操作流程如下:
在
error.log中定位报错的 DDL 语句。在
ddl_msg.log中复制receive ddl关键字冒号后面的 DDL 语句。新增或更新参数。
说明
OMS V3.2.2-BP 及之后版本至 V3.3.1 之前版本,需要在
root下新增或更新JDBCWriter.coordinatorFile.skipDdl参数。OMS V3.3.1 及之后版本,需要在
coordinator下新增或更新skipDdl参数。
OMS V3.2.2-BP 及之后版本至 V3.3.1 之前版本
找到源端接收的 DDL 语句。
登录 OMS 控制台。
在左侧导航栏,单击 数据迁移。
在 数据迁移 页面,单击目标数据迁移项目的名称,进入详情页面。
单击页面右上角的 查看组件监控。
在 查看组件监控 对话框,单击 组件 后的 查看日志。
单击
msg/ddl_msg.log页签,复制receive ddl关键字冒号后面的 DDL 语句,该语句是从源端接收到的。
更新 JDBCWriter 组件的配置。
进入 查看组件监控 对话框。
单击 JDBCWriter 组件后的 更新。
在 更新配置 对话框,鼠标悬停至 root 参数旁边的空白处,单击添加图标。
输入需要新增的 Key Name 为
JDBCWriter.coordinatorFile.skipDdl,单击对号。在 更新配置 对话框,找到新增的 Key Name,其默认值为 NULL。
鼠标悬停至新增参数,单击显示的编辑图标,修改参数值为复制的
receive ddl关键字冒号后面的 DDL 语句。OMS 支持参数值中包含换行符,并在 JDBCWriter 组件将 skipDdl 和接收的 DDL 语句中的空格、回车、Tab 和分号去除后进行匹配过滤。
例如,接收的 DDL 语句为:
CREATE TABLE my_table ( id INT, name VARCHAR(50) );JDBCWriter.coordinatorFile.skipDdl参数值匹配为"CREATE TABLE my_table(id INT,name VARCHAR(50))"。如果有多个 DDL 语句想跳过,请使用 & 符号分隔。例如,
"CREATE TABLE my_table(id INT,name VARCHAR(50))&create table test(id int not null)"。在文本框中输入修改后的参数值后,单击确认图标。
在 更新配置 对话框,单击 更新。
OMS V3.3.1 及之后版本
找到源端接收的 DDL 语句。
登录 OMS 控制台。
在左侧导航栏,单击 数据迁移。
在 数据迁移 页面,单击目标数据迁移项目的名称,进入详情页面。
单击页面右上角的 查看组件监控。
在 查看组件监控 对话框,单击 Incr-Sync 增量同步组件 后的 查看日志。
单击
msg/ddl_msg.log页签,复制receive ddl关键字冒号后面的 DDL 语句,该语句是从源端接收到的。
更新 Incr-Sync 组件的配置。
注意
从 OMS 4.0.1 版本开始,JDBCWriter 组件的名称更改为 Incr-Sync,其它操作不变。本文以 Incr-Sync 组件作为示例。
进入 查看组件监控 对话框。
单击 Incr-Sync 组件后的 更新。
在 更新配置 对话框,鼠标悬停至
coordinator参数旁边的空白处,单击添加图标。输入需要新增的 Key Name 为
skipDdl,单击对号。在 更新配置 对话框,找到新增的 Key Name,其默认值为 NULL。
鼠标悬停至新增参数,单击显示的编辑图标,修改参数值为复制的
receive ddl关键字冒号后面的 DDL 语句。OMS 支持关键字匹配,即配置的关键字存在于接收的 DDL 语句中,即可进行匹配过滤。同时,跳过 DDL 语句的配置为 JSON 格式。
例如,接收的 DDL 语句为:
CREATE TABLE my_table ( id INT, name VARCHAR(50) );skipDdl参数值匹配为["CREATE TABLE my_table"]。如果您需要跳过多个 DDL 语句,请使用 JSON 格式并通过英文逗号(,)分隔。例如,
["CREATE TABLE my_table","create table test"]。注意
如果 DDL 中包含双引号,请务必添加转义符,否则会报 JSON 解析错误。
例如,您需要跳过的 DDL 语句为create table "student" xxx,请配置skipDdl参数的值为["create table \"student\" xxx"]。配置参数时,请确保大小写和需要跳过的 DDL 语句一致。
在文本框中输入修改后的参数值后,单击确认图标。
在 更新配置 对话框,单击 确定。