设计数据流
可以在管道中分支和合并流。
分支流
将一个阶段连接到多个阶段时,所有数据都将传递到所有连接的阶段。您可以将阶段的必填字段配置为在进入阶段之前丢弃记录,但默认情况下,所有记录都将传递。
例如,在下面的管道中,目录源中的所有数据都将传递到管道的两个分支,以进行不同类型的处理。但是,您可以选择为字段拆分器或字段替换器配置必填字段,以丢弃任何不需要的记录。
若要基于更复杂的条件路由数据,请使用流选择器。
某些阶段生成传递到事件流的事件。事件流源自事件生成阶段(如源或目标),并通过事件流输出从阶段传递,如下所示:
有关事件框架和事件流的详细信息,请参阅数据流触发器概述。
合并流
通过将两个或多个阶段连接到同一下游阶段,可以合并管道中的数据流。合并数据流时,数据收集器会将数据从所有流引导到同一阶段,但不执行流中记录的联接。
例如,在以下管道中,流选择器阶段将具有 null 值的数据发送到字段替换器阶段:
流选择器默认流中的数据和字段替换器中的所有数据都将传递到表达式计算器进行进一步处理,但没有特定的顺序,也没有记录合并。
重要:管道验证不会阻止重复数据。若要避免将重复数据写入目标,请配置管道逻辑以删除重复数据或防止生成重复数据。
请注意,不能将事件流与数据流合并。事件记录必须从事件生成阶段流式传输到目标或执行程序,而不与数据流合并。有关事件框架和事件流的详细信息,请参阅数据流触发器概述。