여러 노드를 Subgraph로 재사용하기
Subgraph는 하나 이상의 변환 노드를 재사용 가능한 블록으로 묶습니다. Join, Split과 집계가 연결된 긴 경로를 하나의 노드로 표시하고, 같은 정의를 사용하는 인스턴스들의 로직을 한곳에서 관리할 수 있습니다. 여러 파이프라인이나 브랜치의 반복 로직을 줄일 때 사용합니다.
이 기능은 Beta이며 플랫폼 인스턴스에 따라 사용할 수 없거나 동작이 변경될 수 있습니다.
빈 Subgraph 만들기
파이프라인을 열고 위쪽 Reusables > Subgraphs를 선택합니다.
창에서 Add custom subgraph를 선택합니다.
입력 계약 정의
빈 캔버스 가운데의 Add input을 선택합니다.
생성한 Input 노드의 Edit를 선택합니다.
오른쪽 Required columns에 필요한 열을 지정합니다. Add column으로 직접 추가하거나 From dataset으로 기존 데이터셋의 스키마를 가져옵니다.
기존 데이터셋을 고른 경우 Select로 확인합니다. 이후 이 입력은 선택한 데이터셋의 열들을 요구합니다.
내부 로직과 출력
입력 노드 메뉴에서 변환, Split, Join 등을 연결합니다. 경로 끝에 Output 노드를 만들고 필요한 출력 열이 모두 스키마에 정의되어 있는지 확인합니다.
오른쪽 위의 Apply all subgraph changes를 선택하고 이름을 정합니다. 예시의 이름은 Manually created subgraph입니다. Close로 편집기를 닫으면 재사용 블록으로 선택할 수 있습니다.
파이프라인 노드에 적용
Subgraph가 요구하는 입력 스키마를 가진 노드를 선택합니다. 도구 모음의 Apply subgraph to table 또는 노드 메뉴의 Subgraph를 사용할 수 있습니다.
배너의 Select a subgraph에서 사용할 정의를 고릅니다.
Subgraph의 Input을 그래프 노드에 매핑하고 Start를 선택합니다. 특정 노드에서 시작했다면 그 입력은 자동으로 매핑됩니다.
구성 패널의 Inputs에서 연결을 확인합니다. 구성할 매개변수가 없으면 Configuration은 비어 있습니다. Outputs 탭에서 결과 스키마를 확인하고 Apply, Close를 선택합니다.
입력에 필수 열이 빠져 있으면 Errors와 그래프에 스키마 오류가 나타납니다. 호출 위치의 실제 스키마를 입력 계약에 맞춰야 합니다.
기존 노드 묶기
이미 작성한 Join, 정렬과 집계 같은 노드들을 선택하고 오른쪽 클릭의 Subgraphs를 엽니다.
Create subgraph는 선택한 노드로 새 정의를 만듭니다.Replace with subgraph는 선택한 노드들을 기존 Subgraph로 바꿉니다.
새 편집기에는 선택한 노드들과 자동으로 만든 Input 및 Output 노드가 들어갑니다. 입출력 스키마도 채워집니다. 스키마 오류가 없는 상태로 구성한 뒤 Apply all subgraph changes를 선택합니다.
여러 입력 매핑
입력이 여러 개인 Subgraph는 호출할 때 각각 연결해야 합니다.
- 각 입력에 해당하는 시작 노드들을 선택합니다.
Apply subgraph to table또는Subgraph를 선택합니다.- 사용할 정의를 고릅니다.
Map inputs에서 각 입력을 그래프 노드에 매핑하고Start를 선택합니다.
가상 수업 데이터 예시에서는 Student 입력을 열 이름 변경 노드에, Class 입력을 자료형 변환 노드에 연결합니다.
구성 창에서 입력과 출력 미리보기를 확인하고 Apply, Close를 선택합니다.
메인 그래프에는 하나의 노드로 나타나며 미리보기에서 class_id, avg_score 같은 출력 열을 볼 수 있습니다.
기존 후속 노드를 Subgraph의 출력에 연결하고, 다른 위치의 중복 로직에도 같은 정의의 인스턴스를 추가할 수 있습니다.