Skip to main content

분기 합류

데이터 조건 분기로 나뉜 경로의 결과를 하나로 합칩니다.


설명​

분기 합류 노드는 데이터 조건 분기로 갈라진 두 경로를 다시 하나의 데이터셋으로 이어 붙입니다. 실행된 경로의 결과만 합치므로, 분기 결과 한쪽에 행이 없어도 나머지 경로의 결과가 그대로 출력됩니다.

첫 번째 입력의 행 뒤에 두 번째 입력의 행이 이어지며 열은 두 입력의 열을 모두 포함합니다.

두 입력 포트는 모두 선택사항입니다. 연결된 입력 중 실행되지 않은 경로가 있어도 건너뛰고 합류 노드가 자동으로 실행됩니다. 분기 합류를 워크플로우 API 배포 바로 앞에 두면 어느 경로가 실행되든 노드를 직접 실행하지 않고 배포할 수 있습니다. 단, 경로에 에이전트, 데이터 수정, 샌드박스, 모델 학습, 이미지 임베딩 같이 직접 실행해야만 동작하는 노드가 있으면 분기 합류도 자동으로 실행되지 않습니다. 단순히 여러 데이터셋을 이어 붙이려는 경우에는 데이터 연결 노드를 사용합니다.


포트 구성​

입력 포트​

  • 첫 번째 (선택사항): 데이터 조건 분기의 한 경로에서 이어진 데이터셋
  • 두 번째 (선택사항): 데이터 조건 분기의 다른 경로에서 이어진 데이터셋

출력 포트​

  • 데이터셋: 실행된 경로의 결과를 하나로 합친 데이터셋

노드 연결 설정​

분기 합류 노드는 입력 포트가 두 개이므로 다른 노드의 출력 포트를 연결할 때마다 어느 입력에 연결할지 고르는 노드 연결 설정 팝업이 표시됩니다. 팝업에서 입력 포트는 데이터셋(첫 번째), **데이터셋(두 번째)**로 나타납니다.

포트의 순서가 결과 행의 순서를 정합니다. 첫 번째 입력의 행이 위에, 두 번째 입력의 행이 아래에 놓입니다.


사용 방법​

  1. 노드를 캔버스에 추가합니다
  2. 데이터 조건 분기의 참 데이터셋 경로를 처리한 노드의 출력 포트를 첫 번째 입력 포트에 연결합니다
  3. 거짓 데이터셋 경로를 처리한 노드의 출력 포트를 두 번째 입력 포트에 연결합니다
  4. 분기 앞쪽 노드를 실행하면 실행된 경로가 끝난 뒤 분기 합류 노드가 자동으로 실행됩니다
  5. 노드를 우클릭하고 데이터 보기를 선택해 합쳐진 결과를 확인합니다

분기 합류 노드는 본문이 없는 작은 노드라서 캔버스에서 결과 미리보기가 보이지 않습니다. 결과는 데이터 보기로 확인합니다.

경로별 실행 결과​

분기 합류의 동작은 두 입력 경로의 실행 상태에 따라 달라집니다.

  • 두 경로 모두 실행됨: 첫 번째 입력의 행 뒤에 두 번째 입력의 행을 붙여 출력합니다
  • 한 경로만 실행됨: 실행된 경로의 결과를 그대로 출력합니다. 데이터 조건 분기가 한쪽 포트에 행을 보내지 않으면 그 경로의 노드는 실행되지 않으며 합류 노드는 이 경로를 건너뜁니다
  • 두 경로 모두 실행되지 않음: 분기 합류 노드와 그 뒤의 노드도 실행되지 않고 건너뜁니다
  • 경로의 노드가 실패함: 캔버스에서 실행하면 분기 합류 노드와 그 뒤의 노드가 실행되지 않습니다. 실행되지 않은 경로와 달리 실패는 건너뛰지 않으므로, 실패한 노드를 먼저 해결해야 합니다

워크플로우 API와 함께 쓰기​

워크플로우 API 배포 노드 앞에 분기 합류를 두면 API 호출 때마다 입력 데이터가 분기 조건에 따라 나뉘고 응답에는 조건에 맞아 실행된 경로의 행이 담깁니다.

예를 들어 조건을 A 초과 5로 둔 분기에서 두 경로를 모두 합류에 연결한 경우, 요청 값에 따라 응답이 달라집니다.

  • A가 [1]이면 응답 result의 첫 원소가 [{"A": 1}]입니다. 거짓 경로의 결과만 합쳐집니다
  • A가 [10, 1]이면 응답 result의 첫 원소가 [{"A": 10}, {"A": 1}]입니다. 참 경로의 행이 먼저 오고 거짓 경로의 행이 뒤에 옵니다

세 갈래 이상으로 나누는 경우​

데이터 조건 분기는 두 갈래만 만듭니다. 세 가지 이상으로 나누려면 분기 노드를 이어서 놓고 분기 합류도 같은 구조로 이어서 놓습니다. 두 번째 분기에서 나온 두 경로를 분기 합류로 먼저 합친 뒤 그 결과를 첫 번째 분기의 나머지 경로와 다른 분기 합류로 합칩니다.


주의사항​

행 순서

분기하면 원본 데이터의 행 순서가 유지되지 않습니다. 합쳐진 결과는 첫 번째 입력의 행 뒤에 두 번째 입력의 행이 오는 순서입니다.

실패한 경로

경로 중간의 노드가 실패하면 캔버스에서는 분기 합류 노드와 그 뒤의 노드가 실행되지 않습니다. 출력 포트가 여러 개인 노드(예: 데이터 조건 분기)의 두 번째 이후 출력 포트를 분기 합류에 바로 연결하면 API 호출에서는 이 동작이 보장되지 않으므로, 출력이 하나인 노드를 사이에 두고 연결합니다. 분기 합류는 실행되지 않은 경로만 건너뛰며 실패한 경로는 건너뛰지 않습니다.

경로 중간에서 실행할 때

한쪽 경로의 노드를 고친 뒤 그 노드부터 실행하는 경우처럼 경로 중간에서 실행을 시작하면 다른 경로의 마지막 저장 결과가 합류 결과에 섞일 수 있습니다. 합쳐진 결과를 확인하려면 분기 앞쪽 노드부터 실행합니다. 워크플로우 API 응답에는 영향이 없습니다.