覆盖主要内容
版本: 6.1.0

阻塞数据(新)

组件介绍

组件作用

阻塞数据步骤将阻塞所有输出,直到从上一步收到最后一行才运行通行。此时,将最后一行发送到下一步,或者将完整的输入发送到下一步。

输入输出描述


  • 输入:前一步骤带来的数据信息
  • 输出:最后一行数据或者完整的输入数据

组件图标

案例示例

UDI转换中的各个步骤是并列执行的关系,作业中的步骤才是有先后顺序的。这样就可能会遇到一种情况,我想在转换的某个步骤完成后才执行它下面的步骤,这时该怎么办呢?那么这时就可以用到【阻塞数据】和组件; 【阻塞数据】:这个组件只允许前一个步骤的最后一条数据通过,就是不到最后一条数据不往后面传数据; 【注】:虽然阻塞了,但是阻塞之后的步骤仍然在运行,即运行时间仍然在进行。

该案例用于测试【阻塞数据】组件阻塞数据的过程,总体流程如下图所示:

案例操作

该案例测试【阻塞数据】组件阻塞【生成记录】组件生成的数据传给【什么也不做】组件。

生成记录详情请见 生成记录

空操作详情请见 空操作

该组件配置主要分 3 步:

第一步:拖动一个“生成记录”、一个“阻塞数据”组件和一个“什么也不做”组件到工作区并连接,如下图所示。

第二步:双击“生成记录”组件,设置生成的字段和值:

第三步:双击“阻塞数据”组件,勾选“输出所有数据行”之后点击浏览文件:

第四步:在弹出的“文件浏览器”弹框中点击选择“/”目录之后点击“确定”,配置如下:

第五步:点击“运行”按钮,可以看见“阻塞数据”组件输出了10条数据,“空操作”组件读取了10条数据:

第六步:修改“生成记录”组件的参数,勾选“从不停止生成”,意味着将一直生成数据:

第七步:再次点击“运行”按钮,可以看见由于“生成记录”一直在生成数据,“阻塞数据”组件就无法读取到最后一条数据,因此“阻塞数据”不会输出数据,“空操作”也读取不到数据:

页面介绍

组件配置如下图所示:

参数选项

阻塞数据组件页面包含如下选项:

选项说明样例值
步骤名称步骤的唯一名称,可以自定义名称或保留默认名称阻塞数据
输出所有数据行?确定是传递一行还是所有行勾选后选择下述参数
临时文件目录如果需要,在其中存储临时文件的目录;默认值是系统的标准临时目录tmpdir
临时文件前缀选择可识别的前缀,以标识文件在临时目录中显示时block
缓存大小在内存中存储的行数越快,步骤工作越快5000
压缩临时文件?根据需要压缩临时文件勾选