这个习题的问题如下:
题目的图
请问应该怎么做
下面这个答案正确吗?
【相关推荐】
很多人都担心同步的数据可能没法和源数据一致,Tapdata Cloud 提供了数据校验功能,包括快速count校验、表全字段值校验和关联字段值校验三种校验方式。
• 快速count:仅对源表和目标表的行数进行count校验,速度极快,但是不会展示差异的具体字段内容。
• 全表字段值校验:会对源表和目标表的全部字段进行逐行校验,能查出所有字段的差异,但是速度慢。
• 关联字段值校验:只对源表和目标表的关联字段的值进行比对校验,速度快于全表字段值校验模式。
校验操作步骤
进入数据校验菜单,点击新建校验任务创建数据校验。
【选择任务】:选择一个历史同步任务
【校验类型】:可选 快速count校验、表全字段值校验和关联字段值校验
【校验任务名】:默认与选择的同步任务名字一样
【校验频次】:设置您的校验的执行频次
【单次校验】:只执行一次校验
【重复校验】:设置校验任务重复执行,支持设置校验执行的起止时间和校验间隔
【错误数据保存条数】:当出现校验不一致的数据时,不一致数据保存的最大条数。该数值会影响到差异校验,当错误数据条数超出设置的保存条数时,将无法进行差异校验。
【校验条件】:添加需要进行校验的表。点击自动添加会自动将任务下的所有表全部添加进来。
快速count校验
创建快速count校验时只需要选择到要校验的表,无需设置关联条件。
表全字段值校验
除了要选择待校验表外,还需要针对每一个表设置索引字段。
在进行表全字段值校验时,还支持进行高级校验。通过高级校验可以添加JS校验逻辑,对源和目标的数据进行校验。
完整示例:以MongoDB查询示例
JavaScript
function validate(sourceRow){
// 第1步
var targetRow = target.executeQuery({database: "target",collection: "USER",filter: {USER_ID: sourceRow.USER_ID}});
// 第2步
if(sourceRow.USER_ID === targetRow[0].USER_ID){
// 第3步
return {result: 'passed',message: "",data: ""}
}else{
return {result: 'failed',message: "记录不一致",data: targetRow}
}
}
关联字段值校验
创建关联字段值校验时,除了要选择待校验表外,还需要针对每一个表设置索引字段。