Skip to content

Nodo: union ​

Riunisce N flussi con la stessa forma in uno solo. I record passano invariati: niente chiave, niente merge. È il tUnite di Talend.

0/3
ws-nord — source ws-nordworkspace Noeva ws-sud — source ws-sudworkspace Noeva tutti — union tuttiunion dedup — transform dedupdedup archivio — sink archivioSQL Server
Metodo.union(id, { from, order? }, { purpose?, writeReport? })
Ingressi≥2, nell'ordine di from
Uscite≥1 (fan-out libero)
Dead-letterno: non scarta record
Codicesrc/core/union.ts

Quando usarlo ​

Per trattare come un unico flusso più sorgenti con lo stesso tracciato: N workspace, N file, N tabelle identiche, o rami di un route che tornano insieme. Se i flussi vanno accoppiati per chiave, è un join.

Esempio ​

ts
.union("tutti", {
  from: ["ws-nord", "ws-sud", { node: "smista", port: "default" }],
  order: "concat",
})
.transform("tutti", "dedup", dedup)

Un ingresso da un nodo con porte (route, try-catch) si scrive { node, port }.

L'ordine ​

orderCome leggeOutput
"interleave" (default)Tutti gli ingressi insieme, al più un record in sospeso per ingressoNell'ordine di arrivo
"concat"Un ingresso dopo l'altro, nell'ordine di fromDeterministico

concat serve quando conta l'ordine, per esempio a un dedup che tiene il primo. L'ordine sta in from, non nell'ordine in cui sono scritti gli edge.

Mai concat su ingressi con un antenato comune (un fan-out o un route a monte): il primo ingresso si leggerebbe tutto mentre il secondo resta fermo, e il flusso si bloccherebbe. build() lo rifiuta: con ingressi di origine comune si usa interleave.

Forme diverse ​

Il union non controlla che gli ingressi abbiano la stessa forma: è affare di un validate() a valle. Nel DAG il nodo mostra le colonne solo se concordano gli ingressi che ne hanno.

Errori ​

Nessuna dead-letter propria: un errore di un ramo interrompe la run o finisce sul ramo catch, come per ogni altro nodo. Un union dentro lo scope di un try-catch non estende lo scope ai suoi ingressi esterni: un errore nato fuori risale e ferma la run, anche se attraversa il union.

Noeva è un marchio registrato di 4D S.R.L.