1、在使用步骤【阻塞数据直到步骤都完成】(英文为Block this step until steps finish)之前,我们先来了解下什么是 Copy Nr?
Copy Nr
是指 “副本编号” 或 “拷贝编号”,也就是下图中的复制的记录行数,图中的两个步骤复制的记录行数都是0,表示只有一个副本。
2、写日志步骤右键改变开始复制的数量,这里我们设置为3,如下图所示:
3、保存&运行,步骤度量tab中写日志步骤一个有三个副本在运行,Copy nr 分别为0、1、2,每个副本会根据前置步骤的数据发送策略处理输入的数据,如下图所示:
4、言归正传,我们继续研究步骤【阻塞数据直到步骤都完成】,该步骤可以阻塞一个或者多个步骤的一个或者多个副本,直到所有副本都处理完毕之后才会处理步骤【写日志-done】,如下图所示:
注:图中的复制次数就是指的是副本的数量,写日志步骤的副本是3,所以若要阻塞写日志步骤,监视下面的步骤里面设置3条数据,复制次数分别是0、1、2。
5、保存&运行,可以看到转换正确执行,先执行三个步骤写日志副本,然后再执行写日志-done步骤,如下图所示:
6、若复制次数填写3或者以上则会出错,所以这里复制次数是从0开始的,不是从1开始。如下图所示:
7、将第一个转换复制一份,写日志2步骤这里设置2个副本。步骤【阻塞数据直到步骤都完成】同时阻塞步骤【写日志】和步骤【写日志2】,依然可以正常运行,如下图所示:
总结:
1、Copy Nr
是 Kettle/PDI 中用于标识不同步骤副本的编号,主要用于支持并行处理和管理多个副本。在设计数据转换或作业时,合理设置和管理这些副本,可以提升数据处理的效率和灵活性。
2、阻塞步骤【阻塞数据直到步骤都完成】可以阻塞一个或者多个步骤的1个或者多个副本。副本次数是从0开始计数而不是1。