Control / flow · All operations
Copy a stream to several branches
A variant of Branch or loop
Send the same rows to several downstream branches, each getting a full copy.
Status
- In arcform
Not built yet
arcform does not do this yet; it would live in how a Protocol runs. Its place on the roadmap
What other tools call it
Meridian's classification; an independent blind rating agreed on 95.7% of 324 rows (variant, version 3).
Apache NiFi (1)
ForkEnrichmentread 2026-09-27Clone each FlowFile into original and enrichment branches, tagged for JoinEnrichment
Azure Data Factory (1)
New branchread 2026-09-27Apply more than one set of transformations to the same stream
Duckle (1)
Replicate / Teeread 2026-09-25send the same rows to several downstream outputs
RapidMiner Studio (2)
Multiplyread 2026-09-27Copy an object to several output ports
Multiply (In Database)read 2026-09-27Reuse the current in-database result on several branches
Talend (1)
tReplicateread 2026-09-27Duplicate the incoming flow into identical output flows
Background
The tee shell command copies data from standard input to one or more files as well as to standard output, duplicating the input to each output.[1] The name tee comes from the tee pipe fitting, although the command duplicates its input into each output instead of dividing it between them.[1] In RapidMiner, the Multiply operator delivers copies of its input to its output ports, and each connected port creates an independent copy.[2]
When to use it
In Azure Data Factory mapping data flows, a new branch runs several sets of transformations against the same data stream.[3] In Azure Data Factory, a new branch lets one data flow that reads taxi trip data aggregate it both by day and by vendor, instead of two data flows reading the same source.[3] An Azure Data Factory new branch is also useful for using the same source for several destinations, or for joining data to itself.[3] Copy the stream when every branch needs every row; when each row should go down only one path, a conditional branch is the step to use. (Meridian's view)
Because each copy from RapidMiner's Multiply operator is independent, changing one copy has no effect on the others.[2] If a write to one of tee's files fails, tee carries on writing to the other files and to standard output, but its exit status indicates failure.[1] Decide what should happen to the other branches when one of them fails, because a copy ties their inputs together but not their outcomes. (Meridian's view)
The method
In Azure Data Factory, New Branch creates a reference to the existing stream.[3] In Talend, the tReplicate component duplicates the incoming schema into two identical output flows.[4]
Compared with the alternatives
Many RapidMiner operators have an output port named original or throughput that passes on the input unchanged, but chaining copies through those ports can get complicated very fast.[2] A copy step makes the split visible in one place, which is easier to follow than copies taken from the side of other steps. (Meridian's view)
Sources
- [1]tee (command) - Wikipediasecondary source
- [2]Multiply - Rapidminer Documentationdocumentation
- [3]Multiple branches in mapping data flow - Azure Data Factory & Azure Synapse | Microsoft Learndocumentation
- [4]Orchestration (Integration) components | Talend Components for Jobs Helpdocumentation