阻塞数据直到步骤都完成
此步骤只是等待,直到对话框中指定的所有步骤副本都完成。可以使用它来避免转换步骤副本之间存在的自然并发(并行)
描述:
**监视下面的步骤:**在此表格中指定要等待的步骤,可点击“获取步骤”按钮将转换中的全部步骤自动填充到表格中。
复制次数:步骤的副本号,当所选步骤具有多线程时(线程可通过右键点击步骤选择“改变开始复制的数量”进行设置,即设置多少份的拷贝,开多少线程。),可设置线程号来指定等待某个特定的副本号执行完毕。
注意:当步骤之间的缓冲区已满时,这可能会导致转换死锁。解决方法是增加“行集中的行数”(设置→其他)或使用“阻止”步骤
Blocking step
从字面意思来看,这个步骤和“阻塞数据直到步骤都完成”的功能是一样的,用法似乎更简单一些。但其实这个组件是存在bug的,一直未被修复。
即:假设转换在数据库中创建一个日期维度。在表输出之后是一个阻塞步骤,然后是一个执行 SQL 步骤。如果表输出使用批量插入,则阻塞步骤不起作用。
要解决此问题,可以删除表输出步骤中的块插入,或在表输出和阻塞步骤之间添加一个虚拟步骤。
详见:https://jira.pentaho.com/browse/PDI-2386