设计数据流

您可以在管道中分支和合并流。

分支流

当您将一个阶段连接到多个阶段时,所有数据都会传递到所有连接的阶段。您可以为阶段配置必填字段,以便在记录进入阶段之前将其(不符合要求的记录)丢弃,但是默认情况下,所有记录都会通过。

例如,在以下管道中,来自Directory源的所有数据都传递到管道的两个分支,以进行不同类型的处理。但是您可以选择配置Field Splitter或Field Replacer的必填字段,以丢弃不需要的任何记录。

要基于更复杂的条件路由数据,请使用Stream Selector。

某些阶段会生成传递到事件流的事件。事件流源自事件生成阶段(例如源端或目标端),并从该阶段通过事件流输出,如下所示:

有关事件框架和事件流的更多信息,请参见数据流触发器概述。

合并流

您可以通过将两个或多个阶段连接到同一下游阶段来合并管道中的数据流。合并数据流时,Data Collector会将所有流中的数据引导到同一阶段,但不会执行流中记录的连接。

例如,在以下管道中,Stream Selector阶段将具有空值的数据发送到Field Replacer阶段:

来自Stream Selector的default流的数据和来自Field Replacer的所有数据将传递到Expression Evaluator以进行进一步处理,但顺序不特定且没有记录合并。

重要:管道验证不会防止重复数据。为避免将重复数据写入目标,请配置管道逻辑以删除重复数据或防止生成重复数据。

请注意,您无法将事件流与数据流合并。事件记录必须从事件生成阶段流到目标端或执行器,而不能与数据流合并。有关事件框架和事件流的更多信息,请参见数据流触发器概述。