노드 연결
파이프라인에서 노드 간 연결(Edge)은 데이터의 흐름 방향과 의존성을 정의합니다. 올바른 연결을 통해 데이터가 소스에서 처리 단계를 거쳐 최종 목적지까지 자연스럽게 흘러가도록 설계합니다.
엣지(연결) 만들기
노드 간 연결은 출력 포트에서 입력 포트로 드래그하여 생성합니다:
- 선행 노드(Upstream)의 오른쪽 핸들(출력 포트)에 마우스를 가져갑니다.
- 핸들이 활성화되면 클릭 후 드래그합니다.
- 후행 노드(Downstream)의 왼쪽 핸들(입력 포트)에 드롭합니다.
- 연결선(Edge)이 생성되며 데이터 의존성이 설정됩니다.
데이터 흐름 규칙
노드 간 연결에는 다음 규칙이 적용됩니다. Entity / Relation 노드는 데이터셋과 동일하게 소스·싱크로 동작합니다.
허용되는 연결
| 출발 노드 | 도착 노드 | 데이터 흐름 |
|---|---|---|
| Dataset / Entity / Relation → | Code | 데이터를 코드 노드의 입력으로 읽기 |
| Code → | Dataset / Entity / Relation | 코드 노드의 처리 결과를 쓰기 |
| Code → | Code | 중간 처리 결과를 다음 코드 노드로 전달 |
허용되지 않는 연결
| 출발 노드 | 도착 노드 | 제한 사유 |
|---|---|---|
| Dataset → | Dataset | 데이터 노드 간 직접 연결 불가 — 중간에 Code 노드 필요 |
정보
event 파이프라인의 이벤트 스텝은 데이터셋과 연결할 수 없습니다("이벤트 스텝은 데이터셋과 연결할 수 없습니다").
비순환(DAG) 구조
파이프라인은 데이터가 한 방향으로 흐르는 비순환 그래프(DAG) 로 설계해야 합니다. A → B → C → A처럼 흐름이 원점으로 되돌아오는 순환 구조는 정상 실행을 보장할 수 없으므로 피하세요.
입출력 바인딩
Code 노드와 Dataset / Entity / Relation 노드를 연결하면, 코드 노드의 옵션(Options) 탭에 해당 입력·출력 바인딩이 기록됩니다. (스키마 타입을 비교해 자동으로 매핑하지는 않으며, 연결 자체를 입출력으로 등록합니다.)
옵션 탭에서 각 바인딩에 대해 다음을 지정합니다.
- 읽기 모드 (입력): 증분(Incremental) / 전체(Full)
- 쓰기 모드 (출력): 추가(Append) / 덮어쓰기(Overwrite) / 병합(Upsert)
정보
바인딩이 올바르지 않으면 옵션 탭에서 입력·출력을 직접 수정하세요.
다중 입출력
하나의 Code 노드에 여러 Dataset 노드를 연결할 수 있습니다.
다중 입력 예시
- 여러 데이터셋을 하나의 Code 노드에 입력으로 연결하여 조인, 병합 등의 처리를 수행합니다.
- 각 입력은 Code 노드 내에서 별도의 변수로 참조됩니다.
다중 출력 예시
- 하나의 Code 노드에서 조건에 따라 여러 데이터셋에 결과를 분배할 수 있습니다.
엣지 관리
연결 삭제
- 연결선(Edge) 위에 마우스를 올리면 나타나는 × 버튼을 눌러 즉시 제거합니다.
연결 변경
기존 연결을 다른 노드로 변경하려면:
- 기존 연결을 삭제합니다.
- 새로운 대상 노드로 다시 연결합니다.
연결 상태 확인
코드 노드의 옵션(Options) 탭에서 모든 입출력 바인딩을 확인할 수 있습니다.
| 항목 | 설명 |
|---|---|
| 입력 (Inputs) | 현재 코드 노드에 데이터를 제공하는 소스와 읽기 모드(증분/전체) |
| 출력 (Outputs) | 현재 코드 노드의 결과를 받는 대상과 쓰기 모드(추가/덮어쓰기/병합) |