Pular para conteúdo

join

fábrica

une os dados de dois nós do canvas por uma condição de igualdade entre colunas — o join relacional clássico (inner, left, right, full), aplicado visualmente entre dois pontos do seu pipeline.


quando usar

  • cruzar pedidos com clientes por cliente_id, produtos com categorias por categoria_id, etc.
  • combinar uma extração de sistema operacional com uma tabela de referência já existente no lakehouse (via lakehouse reader)
  • enriquecer um dataset com colunas de outra fonte, sem duplicar linhas indevidamente (escolhendo o tipo de join correto)

configuração

campo tipo obrigatório descrição
left string sim id do nó que alimenta o lado esquerdo do join
right string sim id do nó que alimenta o lado direito do join
on lista de {left, right} sim pares de colunas usadas na condição de igualdade — múltiplos pares são combinados com AND
type enum sim inner, left, right ou full · padrão: inner

tipos de join

tipo comportamento
inner mantém apenas linhas com correspondência nos dois lados
left mantém todas as linhas do lado esquerdo; colunas do lado direito ficam nulas quando não há correspondência
right mantém todas as linhas do lado direito; colunas do lado esquerdo ficam nulas quando não há correspondência
full mantém todas as linhas de ambos os lados, preenchendo com nulo onde não há correspondência

exemplo

{
  "left": "node_pedidos",
  "right": "node_clientes",
  "on": [{ "left": "cliente_id", "right": "id" }],
  "type": "left"
}

produz uma linha para cada pedido, com as colunas do cliente correspondente anexadas — pedidos sem cliente encontrado ainda aparecem no resultado, com as colunas de cliente nulas.

join por múltiplas colunas

{
  "left": "node_vendas",
  "right": "node_metas",
  "on": [
    { "left": "regiao", "right": "regiao" },
    { "left": "mes", "right": "mes" }
  ],
  "type": "inner"
}

no canvas

o nó join se conecta a dois nós upstream (esquerdo e direito) — diferente da maioria dos nós de fábrica, que têm uma única entrada. arraste as conexões dos dois nós de origem até o nó join e selecione qual é left e qual é right na configuração.


join vs. merge

este nó (join) faz o cruzamento relacional real por chave — é o que a maioria das pessoas espera de um "join" em sql. já o nó merge, na categoria de controle, tem um propósito diferente: ele consolida os dados de múltiplos nós upstream em um único dataset (empilhamento schema-aligned), sem cruzar colunas por chave.

você precisa de... use
cruzar duas tabelas por uma chave comum, combinando colunas join (este nó)
consolidar várias fontes com o mesmo formato em um único dataset merge