고급 워크플로(시각적 워크플로 디자이너)
고급 워크플로는 시각적 워크플로 디자이너라는 시각적 캔버스에서 실행됩니다. 이 캔버스에서 단계는 방향 그래프(DAG)의 노드입니다. 노드 사이의 선은 데이터가 흐르는 방식을 나타내며, 런타임은 위에서 아래로가 아니라 종속성 순서에 따라 단계를 실행합니다. 서로 종속되지 않는 브랜치는 자동으로 병렬 실행됩니다.
고급은 PlaidCloud의 워크플로 유형 중 하나이며, 다른 유형은 표준입니다. 이 가이드에서 다루는 기능인 시각적 캔버스, 중단점, 컨테이너, 여기서부터 실행, 시뮬레이션, 도킹된 인스펙터는 모두 고급 워크플로 전용입니다. 캔버스는 실시간 공동 작업도 지원합니다. 여러 사람이 같은 고급 워크플로를 열어 함께 편집할 수 있으며, 서로의 접속 상태와 변경 사항을 실시간으로 볼 수 있습니다.
표준 워크플로와 고급 워크플로
섹션 제목: “표준 워크플로와 고급 워크플로”모든 워크플로에는 만들 때 선택하는 유형이 있습니다.
| 유형 | 단계의 배치 위치 | 실행 방식 |
|---|---|---|
| 표준 직렬 | 단계 목록 | 위에서 아래로 한 번에 하나씩 |
| 표준 병렬 | 단계 목록 | 목록을 기준으로, 종속성이 허용하는 범위에서 병렬로 |
| 고급 (DAG 캔버스) | 노드와 연결로 이루어진 시각적 그래프 | 종속성 순서대로 - 독립적인 브랜치는 자동으로 병렬 실행 |
표준과 고급은 서로 다른 엔진에서 실행됩니다. 표준 워크플로는 단계 목록을 기준으로 실행되고, 고급 워크플로는 사용자가 그린 그래프를 기준으로 단계 사이의 명시적인 생산자/소비자 연결을 따라 실행됩니다. 시각적 워크플로 디자이너가 고급 워크플로에서만 열리는 이유가 여기에 있습니다. 표준 워크플로에 화살표를 그려도 실행 방식은 바뀌지 않기 때문입니다.
워크플로 유형 선택
섹션 제목: “워크플로 유형 선택”워크플로를 만들 때 유형을 설정하거나 기존 표준 워크플로를 변환할 수 있습니다.
- 생성 시 - 워크플로 유형 선택기에서 표준 직렬, 표준 병렬, 고급 (DAG 캔버스), 매크로(출시 예정) 를 선택할 수 있습니다. 새 워크플로의 기본값은 표준 직렬입니다.
- 기존 워크플로 변환 - 워크플로 목록에서 표준 워크플로를 선택하고 고급으로 변환… 옵션을 선택한 다음 확인합니다. 단계, 단계 구성, 종속성은 그대로 유지되며, 워크플로가 표시되고 실행되는 방식만 바뀝니다.
REST API나 AI 어시스턴트를 통해 워크플로 유형을 표준에서 고급으로 변경하면 고급으로 변환… 옵션과 동일하게 단계 순서가 유지됩니다. 고급 워크플로를 표준으로 되돌리는 것은 거부됩니다.
캔버스
섹션 제목: “캔버스”각 단계는 노드이며, 노드 사이의 연결이 단계가 실행되는 순서를 정의합니다. 디자이너가 단계를 자동으로 배치하며, 원하는 대로 자유롭게 다시 배치할 수 있습니다.
접속 중인 사용자
섹션 제목: “접속 중인 사용자”같은 고급 워크플로를 두 명 이상이 열어 놓으면 캔버스 도구 모음에 아바타 행이 나타나 누가 함께 보고 있거나 편집 중인지 보여 줍니다. 공유 문서의 실시간 접속 표시와 같은 개념입니다. 각 사용자는 gravatar(없으면 이니셜)로 표시되며, 아바타 위에 마우스를 올리면 이름이 표시됩니다. 같은 사용자가 여러 브라우저 탭에서 워크플로를 열어도 한 번만 표시되고, 표시 공간보다 보는 사람이 많으면 나머지는 +N 표시로 접힙니다.
단계 타일
섹션 제목: “단계 타일”각 타일은 위에서 아래로 다음과 같이 단계를 한눈에 요약합니다.
- 헤더 - 단계 유형의 아이콘과 이름, 그리고 단계의 마지막 실행 결과를 보여 주는 상태 아이콘.
- 입력 - 단계가 읽는 각 테이블, 차원 또는 파일의 아이콘. 테이블 아이콘을 클릭하면 데이터 미리 보기 드로어에서 미리 보고, 차원 아이콘을 클릭하면 차원이 열리며, 파일 아이콘을 클릭하면 파일이 다운로드됩니다. 입력이나 출력이 많은 단계는 나머지를 +N 표시로 접습니다.
- 단계 이름 - 타일 본문 가운데에 표시됩니다.
- 출력 - 단계 출력의 아이콘이며 클릭 동작은 같습니다. 출력 테이블이 생성되면 이 행에는 행 수와 열 수도 표시됩니다(예:
12,345 rows · 8 cols). 단계의 입력/출력 테이블에 표시되는 행 수와 열 수와 같은 값이므로, 테이블을 일일이 열지 않고도 워크플로를 통과하는 데이터 규모를 확인할 수 있습니다. 그 전이거나 단계가 테이블 대신 파일 또는 차원을 출력하는 경우에는 이 행에 출력이라는 레이블만 표시됩니다. 테이블 아이콘 위에 마우스를 올리면 이름과 개수가 표시됩니다. - Footer - 단계의 마지막 실행 시간과 평균 실행 시간이며, 최근 실행이 기록 대비 유난히 느렸으면 색이 달라집니다.
- 확대 / 축소, Reset zoom to 100%, 모든 노드를 보기에 맞춤으로 어떤 크기의 워크플로든 화면에 맞출 수 있습니다.
- Pan tool - 활성화하면 끌기가 선택 대신 캔버스를 이동합니다. 가운데 버튼 끌기와 Space+끌기는 이 토글과 관계없이 캔버스를 이동합니다.
- Snap to grid는 노드를 놓을 때 위치를 고정된 그리드에 맞춰 깔끔하게 정렬합니다.
미니맵
섹션 제목: “미니맵”화면에 다 들어오지 않는 큰 워크플로에서는 Minimap을 켜서 오른쪽 아래에 개요 패널을 도킹할 수 있습니다. 전체 워크플로의 단계와 연결이 축소되어 표시되며, 현재 보고 있는 캔버스 영역은 사각형으로 표시됩니다.
- 뷰포트 사각형은 이동하고 확대/축소할 때 실시간으로 움직이므로 큰 다이어그램에서 현재 위치를 항상 알 수 있습니다.
- 패널의 아무 곳이나 클릭하거나 끌면 캔버스가 워크플로의 해당 부분으로 이동합니다.
- 워크플로가 실행되는 동안 미니맵의 각 단계는 실행 상태에 따라 색으로 구분되므로(실행 중, 완료, 오류 등) 패널이 상태를 한눈에 보여 주는 개요 역할도 합니다.
- 배치는 레이아웃 작업 메뉴를 엽니다. 모든 작업은 실행 취소(Cmd/Ctrl+Z)에서 한 단계로 처리되고 확인 없이 적용되며, 토스트에 레이아웃이 업데이트됨 - 되돌리려면 실행 취소를 누르세요라고 표시됩니다. 아무것도 바뀌지 않는 작업은 아무 일도 하지 않습니다. 캔버스 배치를 참조하세요.
- 실행 취소와 다시 실행은 레이아웃 변경을 앞뒤로 되돌리며(Cmd/Ctrl+Z 및 Cmd/Ctrl+Shift+Z), 기록은 변경 사항 패널을 엽니다.
캔버스 배치
섹션 제목: “캔버스 배치”| 작업 | 동작 | 필요 조건 |
|---|---|---|
| 전체 정리 | 모든 단계를 왼쪽에서 오른쪽으로 배치합니다. | 항상 사용 가능 |
| 선택 항목 정리 | 선택한 항목만 배치하며 왼쪽 위 모서리는 그대로 둡니다. 다른 단계는 겹치게 되는 경우에만 아래로 이동합니다. | 항목 2개 이상 |
| 겹침 제거 | 겹치는 항목이 없어질 때까지 아래로 밀어 냅니다. 순서는 절대 바꾸지 않습니다. | 캔버스에 항목 2개 이상 |
| 왼쪽 맞춤 / 가운데 맞춤 / 오른쪽 맞춤 / 위쪽 맞춤 / 중간 맞춤 / 아래쪽 맞춤 | 선택한 항목을 선택한 가장자리 또는 가운데에 맞춰 정렬합니다. | 항목 2개 이상 |
| 가로 간격 균등 분배 / 세로 간격 균등 분배 | 첫 번째와 마지막 항목은 그대로 두고 나머지를 그 사이에 고르게 배치합니다. | 항목 3개 이상 |
| 모두 그리드에 맞춤 | 모든 항목을 캔버스 그리드에 맞추고, 그 결과 충돌하는 항목은 분리합니다. | 항상 사용 가능 |
- 전체 정리는 기존 레이아웃을 유지합니다. 단계는 여전히 왼쪽에서 오른쪽으로 흐르지만, 각 열 안에서는 기존의 위에서 아래 순서를 유지하며, 레이아웃이 원점으로 이동하지 않고 캔버스에서 있던 위치에 그대로 있습니다.
- 그룹은 함께 유지됩니다. 컨테이너는 하나의 블록으로 배치됩니다. 접힌 컨테이너는 하나의 타일로 이동하며, 그 안에 숨겨진 단계도 함께 이동합니다.
- 메모와 강조는 단계와 함께 이동합니다. 단계 위에 놓인 모든 것은 단계가 이동할 때 함께 이동합니다.
- 그룹은 하나의 항목으로 계산됩니다. 정렬, 간격 분배, 선택 항목 정리에서 컨테이너 또는 접힌 컨테이너는 하나의 항목이며, 그 안의 단계가 함께 이동합니다.
- 모두 그리드에 맞춤은 탐색의 Snap to grid 토글과 별개입니다. 토글은 단계를 놓을 때 놓이는 위치에만 영향을 줍니다.
- 사용할 수 없는 작업은 흐리게 표시됩니다. 현재 선택에 적용되지 않는 메뉴 항목은 회색으로 표시됩니다.
- 잠긴 워크플로에서는 모든 배치 작업이 차단됩니다. 먼저 워크플로의 잠금을 해제하세요.
주석은 시각적 용도일 뿐이며, 다이어그램을 문서화할 뿐 실행에는 영향을 주지 않습니다.
- 메모 추가 - 캔버스의 아무 곳에나 스티커 메모를 놓은 다음 텍스트 편집… 옵션으로 내용을 작성합니다(제거하려면 메모 삭제).
- 강조 추가 - 관련된 단계 그룹 주위에 반투명 상자를 그리고 레이블 편집… 옵션으로 레이블을 지정합니다(제거하려면 강조 삭제).
- 색상 - 단계에 색을 지정해(또는 기본값으로 재설정해) 작업을 시각적으로 그룹화합니다.
실수로 편집하는 것을 방지하기 위해 워크플로를 잠글 수 있습니다. 잠금 토글을 클릭하면 워크플로 편집 - 클릭하여 잠금과 워크플로가 잠겨 있음 - 클릭하여 편집 잠금 해제 사이를 전환합니다. 잠겨 있는 동안 캔버스는 잠금을 해제할 때까지 읽기 전용입니다.
팔레트 및 인스펙터 창 접기와 크기 조정
섹션 제목: “팔레트 및 인스펙터 창 접기와 크기 조정”왼쪽의 단계 팔레트와 오른쪽의 인스펙터는 다이어그램에 전체 창을 사용하고 싶을 때 각각 접어 둘 수 있습니다.
- 창 접기 - 팔레트 제목 또는 인스펙터 헤더의 갈매기 표시를 클릭합니다. 창이 제목이 옆으로 표시되는 좁은 레일로 줄어듭니다. 접힌 인스펙터 레일에는 선택한 단계의 이름이 표시되므로 캔버스를 전체 너비로 써도 검사하던 대상을 놓치지 않으며, 잘리면 마우스를 올려 전체 이름을 볼 수 있습니다.
- 다시 열기 - 갈매기 표시뿐 아니라 레일의 아무 곳이나 클릭합니다.
- 키보드 -
[를 누르면 팔레트를,]를 누르면 인스펙터를 접거나 펼칩니다. 필드에 입력하는 동안에는 둘 다 무시되므로 필터 상자나 인라인 이름 바꾸기를 방해하지 않습니다. - 구분선 더블 클릭 - 창 옆의 구분선을 더블 클릭하면 갈매기 표시와 마찬가지로 창이 접히거나 펼쳐집니다.
- 크기 조정 - 구분선을 끕니다. 두 창 모두 최소 너비가 있으며, 그보다 좁아지면 인스펙터의 입력 및 출력 카드는 이름과 행 수가 잘리지 않고 옆으로 스크롤됩니다.
다이어그램 내보내기
섹션 제목: “다이어그램 내보내기”도구 모음의 내보내기 버튼은 문서화, 검토 또는 공유를 위해 캔버스의 이미지를 저장합니다. 클릭하면 PDF로 내보내며, 드롭다운에서 PDF로 내보내기와 PNG로 내보내기를 선택할 수 있습니다.
어두운 테마
섹션 제목: “어두운 테마”캔버스는 선택한 PlaidCloud 테마를 따릅니다. 어둡게 테마에서는 캔버스 배경, 단계 타일, 커넥터, 메모, 강조, 컨테이너, 미니맵, 그리고 옆에 있는 단계 팔레트, 인스펙터, 데이터 미리 보기 드로어가 모두 어두운 배경에 맞게 그려지며, 실행 상태 색상과 레이블 텍스트는 어두운 배경에서도 읽기 쉽도록 선택됩니다. 테마를 전환하면 인터페이스가 다시 로드되고 캔버스는 다시 열릴 때 새 색상을 적용합니다.
단계 추가, 연결, 편집
섹션 제목: “단계 추가, 연결, 편집”팔레트 에서 단계 유형을 클릭하면 캔버스에 놓이고, 원하는 위치로 끌어 놓을 수도 있습니다. 단계를 연결하려면 한 단계에서 다른 단계로 끌어 커넥터를 그립니다. 이것이 한 단계의 출력이 다음 단계로 들어간다는 것을 런타임에 알려 줍니다.
테이블을 읽는 단계는 그 테이블을 쓰는 단계 뒤에 실행되어야 합니다. 도구 모음의 종속성 동기화는 너무 일찍 실행될 수 있는 단계를 찾아 추가할 커넥터를 제안합니다. 종속성 동기화를 참조하세요.
단계를 마우스 오른쪽 버튼으로 클릭하면 다음 항목을 사용할 수 있습니다.
- 단계 구성 편집… - 단계의 설정 양식.
- 단계 세부 정보 편집… - 이름, 메모, 오류 처리, 재시도, 조건.
- 단계 유형 변환… - 단계를 다른 작업 유형으로 변경합니다.
- 단계 복제… - 이 단계를 복사합니다. 단계 양식이 이 단계에서 채워진 일반 탭으로 열리므로 복사본의 이름을 바꾸고 위치를 선택할 수 있으며, 복사본은 이 단계의 구성을 유지합니다.
- 단계 사용 / 단계 사용 안 함 - 사용 안 함으로 설정한 단계는 실행 시 건너뜁니다.
- 단계 입력 보기 / 단계 출력 보기 - 인스펙터에서 단계의 데이터를 엽니다.
- 출력 데이터 미리 보기 - 도킹된 데이터 미리 보기 드로어에서 단계의 출력을 엽니다. 단계 위에 마우스를 올리면 같은 기능을 하는 탐색 글리프도 서서히 나타납니다.
- 색상 - 단계 색을 적용하거나 지웁니다.
- 단계 삭제… - 워크플로 구조에서 단계를 제거합니다. 해당 출력에 종속된 하위 단계는 다시 구성해야 합니다.
하위 워크플로 동시성
섹션 제목: “하위 워크플로 동시성”단계가 다른 워크플로를 호출하는 경우, 즉 워크플로 실행, Run Workflow Conditional 또는 Run Workflow Loop 단계가 매크로가 아닌 워크플로를 가리키는 경우에는 해당 하위 워크플로를 한 번에 하나만 실행할 수 있습니다. 매크로가 아닌 하위 워크플로는 하나의 실행 상태를 공유하므로 두 호출이 동시에 일어나면 충돌합니다.
고급 캔버스에서는 서로 순서가 정해지지 않은 단계가 병렬로 실행되므로 이 점이 중요합니다. 그런 두 단계가 매크로가 아닌 같은 하위 워크플로를 호출하면 경합이 발생합니다.
디자이너는 캔버스를 저장할 때 이를 확인하고, 문제가 되는 단계와 공유되는 하위 워크플로의 이름을 알려 주는 워크플로 권고라는 제목의 권고 토스트를 표시합니다. 예를 들면 다음과 같습니다.
‘Build’, ‘Refresh’ 단계가 모두 매크로가 아닌 하위 워크플로 ’Load Dims’를 호출하지만 서로 순서가 정해져 있지 않습니다. 동시에 실행되어 충돌할 수 있습니다(매크로가 아닌 하위 워크플로는 동시에 두 번 실행할 수 없음). 단계가 겹치지 않도록 순서를 지정하거나 ’Load Dims’를 매크로로 만드세요(매크로는 호출마다 격리되어 실행됩니다).
이를 해결하려면 다음을 수행하세요.
- 단계 순서 지정 - 한 단계가 다른 단계 뒤에 실행되도록 커넥터를 그려 단계가 겹치지 않게 합니다.
- 하위 워크플로를 매크로로 만들기 - 각 매크로 호출은 자체 격리된 스크래치 스키마에서 실행되므로 같은 매크로를 동시에 호출해도 안전합니다. 매크로 만들기와 Macro Run 단계 참조를 확인하세요.
단계 팔레트
섹션 제목: “단계 팔레트”캔버스 왼쪽의 단계 팔레트에는 추가할 수 있는 모든 단계 유형이 열 개의 폴더로 분류되어 있습니다. 가져오기, 내보내기 및 아카이브, 테이블, 차원, 배부, AI, ML 및 텍스트, 공간, 문서 및 보고서, 워크플로 및 변수, 외부 시스템입니다. 폴더는 닫힌 상태로 시작하며, 클릭하면 열립니다. 일부 폴더에는 하위 폴더가 있습니다(예: 가져오기 아래의 Sage, 워크플로 및 변수 아래의 알림). 팔레트는 열어 둔 폴더를 기억합니다.
폴더 음영과 들여쓰기 안내선
섹션 제목: “폴더 음영과 들여쓰기 안내선”팔레트는 계층 구조에서 현재 위치를 기억하지 않아도 알 수 있게 보여 줍니다.
- 폴더는 깊이에 따라 음영이 달라지므로 최상위 폴더, 하위 폴더, 그 안의 단계를 한눈에 구분할 수 있습니다. 음영은 보조 단서일 뿐이며, 폴더 아이콘과 굵은 글꼴 캡션이 이미 폴더를 나타냅니다.
- 열려 있는 각 폴더는 안쪽 항목 왼쪽에 세로 들여쓰기 안내선을 그리며, 안내선을 클릭하면 해당 폴더가 닫힙니다. 제목이 이미 스크롤되어 지나간 긴 열린 폴더에서 빠져나오는 빠른 방법입니다. 안내선 위에 마우스를 올리면 이 폴더 접기가 표시됩니다.
- 폴더는 차원 화면에서 사용하는 것과 같은 +/− 상자로 열고 닫으므로, 제품 전체에서 같은 동작으로 읽힙니다.
- 읽고 있는 폴더의 제목은 스크롤하는 동안 목록 맨 위에 고정되므로 포인터 아래의 단계가 어디에 속하는지 항상 알 수 있습니다. 하위 폴더 안에서는 해당 제목과 상위 폴더의 제목이 모두 고정됩니다.
- 폴더를 열거나 닫아도 스크롤 위치가 유지되어 목록 맨 위로 돌아가지 않습니다.
- 모든 폴더 펼치기와 모든 폴더 접기는 팔레트 자체를 접는 갈매기 표시 옆, 팔레트 제목에 있는 두 개의 작은 버튼입니다.
단계를 추가하는 방법은 두 가지입니다.
- 클릭합니다. 행이 깜박여 추가되었음을 알려 주고, 단계가 보이는 캔버스의 왼쪽 위 근처에 이미 선택된 상태로 나타나므로 인스펙터에 세부 정보가 표시됩니다. 원하는 위치로 끌어 놓으세요. 잘못 클릭했다면 Delete를 누르고 확인하세요. 계속 선택되어 있으므로 찾아다닐 필요가 없습니다.
- 팔레트에서 캔버스로 끌어 놓으면 놓은 위치에 배치됩니다.
알아 두면 좋은 사항이 두 가지 더 있습니다.
- 필터… 는 폴더가 열려 있든 닫혀 있든 전체 카탈로그에서 단계 이름으로 검색합니다. 일치하는 항목은 해당 항목이 속한 폴더의 제목 아래에 나열되므로 아무것도 열지 않고도 단계가 어디에 속하는지 알 수 있습니다. 일치하는 항목이 없으면 팔레트에 일치하는 단계 없음이 표시됩니다.
- 단계 옆의 별표는 단계를 즐겨찾기에 고정합니다. 즐겨찾기는 폴더 위에 있으며 어떤 폴더에도 속하지 않는 섹션입니다. 단계를 마우스 오른쪽 버튼으로 클릭해도 같은 즐겨찾기에 추가 / 즐겨찾기에서 제거와 함께 캔버스에 추가를 사용할 수 있습니다.
키보드 탐색과 화면 낭독기
섹션 제목: “키보드 탐색과 화면 낭독기”팔레트는 키보드만으로 완전히 조작할 수 있으며 화면 낭독기로 탐색할 수 있습니다. 팔레트는 트리로 노출되며, 각 행은 폴더인지, 그 폴더가 열려 있는지, 깊이가 어느 정도인지를 알려 줍니다. 필터를 입력하면 결과는 일치 항목의 평면 목록으로 노출됩니다.
Tab 키로 필터… 필드에서 목록으로 이동하며(단계마다가 아니라 목록 전체가 하나의 정지점입니다), Tab을 다시 누르면 캔버스로 나갑니다. 목록 안에서는 다음과 같이 동작합니다.
| 키 | 동작 |
|---|---|
| 아래쪽 / 위쪽 | 다음 행 또는 이전 행으로 이동 |
| 오른쪽 | 현재 폴더를 열거나, 단계에서는 아래로 이동 |
| 왼쪽 | 현재 폴더를 닫거나, 단계에서는 해당 단계가 들어 있는 폴더로 올라감 |
| Enter 또는 Space | 현재 단계를 캔버스에 추가하거나 폴더를 열고 닫음 |
| Esc | 필터… 필드로 돌아감 |
실행 컨트롤
섹션 제목: “실행 컨트롤”캔버스에서는 전체 워크플로 또는 일부를 실행할 수 있습니다. 실행은 그래프를 따르므로 “여기서부터”와 “선택 항목”은 목록 위치가 아니라 종속성을 따릅니다.
| 작업 | 실행 대상 |
|---|---|
| 워크플로 실행 | 시작 단계부터 전체 워크플로. |
| 이 단계 실행 | 선택한 단계만. |
| 여기서부터 실행 | 선택한 단계와 그 뒤에 일반적으로 실행되는 모든 하위 단계. |
| 선택 항목 실행 | 선택한 단계만 - 병렬로 실행되며 런타임이 종속성에 따라 순서를 정합니다. |
| 구간 실행 | 선택한 단계와, 그래프에서 선택 항목 중 위상적으로 가장 앞선 단계와 가장 뒤쪽 단계 사이에 있는 모든 단계. |
워크플로가 실행되는 동안 일시 중지(진행 중인 단계는 끝나고 새 단계는 재개할 때까지 대기), 일시 중지되었거나 중지된 워크플로를 중단된 지점부터 재개, 또는 중지(진행 중인 단계는 끝나고 대기 중인 단계는 취소)할 수 있습니다. 재개하면 실패한 노드와 그 노드를 기다리는 모든 것을 다시 실행하고 완료된 노드는 그대로 둡니다. 일시 중지, 중지 및 재개를 참조하세요.
시뮬레이션
섹션 제목: “시뮬레이션”시뮬레이션은 실제 변환을 실행하지 않고 워크플로의 그래프를 따라갑니다. 단계가 실제 실행 중과 같은 방식으로 표시되므로, 컴퓨팅을 사용하기 전에 순서와 브랜치를 미리 볼 수 있습니다. 아무것도 실행되지 않으며 데이터도 변경되지 않습니다.
중단점
섹션 제목: “중단점”중단점은 실행이 단계에 도달하면 실행을 일시 중지하므로, 워크플로의 나머지 부분이 계속되기 전에 상위 출력을 검사할 수 있습니다.
- 단계를 마우스 오른쪽 버튼으로 클릭하고 중단점 설정을 선택합니다(제거하려면 중단점 지우기).
- 워크플로를 실행합니다. 실행이 중단점이 있는 단계에 도달하면 그곳에서 일시 중지되며, 하위의 모든 단계는 대기합니다.
- 인스펙터에서 단계의 입력과 출력을 검사한 다음 재개하여 계속합니다.
중단점은 워크플로와 함께 저장되므로, 설정한 중단점은 지울 때까지 세션이 바뀌어도 유지됩니다.
컨테이너
섹션 제목: “컨테이너”컨테이너는 관련된 단계를 하나의 레이블이 붙은 상자로 그룹화하며, 이 상자는 하나의 단위로 접거나 사용 안 함으로 설정할 수 있습니다. 큰 워크플로를 정리하거나 전체 하위 프로세스를 켜고 끌 때 유용합니다.
- 컨테이너로 그룹화 - 단계를 선택한 다음 그룹화하고 컨테이너 이름을 지정합니다.
- 컨테이너 접기 / 컨테이너 펼치기 - 컨테이너를 하나의 타일로 접어 캔버스를 단순하게 하거나 다시 펼칩니다.
- 컨테이너 사용 안 함 / 컨테이너 사용 - 컨테이너를 사용 안 함으로 설정하면 한 번의 작업으로 모든 구성원 단계를 건너뜁니다. 사용으로 설정하면 복원됩니다.
- 컨테이너 이름 바꾸기… - 레이블을 변경합니다.
- 컨테이너 그룹 해제 - 컨테이너를 제거합니다. 구성원 단계는 캔버스에 남습니다.
- 단계 추가 또는 제거 - Mac에서는 Cmd를, Windows에서는 Ctrl을 누른 채 단계를 컨테이너로 끌어 놓습니다. 컨테이너가 놓을 대상으로 강조 표시되며, 놓으면 단계가 컨테이너에 포함됩니다. 컨테이너에서 단계를 제거하려면 Cmd/Ctrl을 누른 채 단계를 컨테이너 밖의 빈 캔버스로 끕니다. 접힌 컨테이너에 놓으면 해당 컨테이너에 단계가 추가됩니다.
단계는 최대 하나의 컨테이너에만 속할 수 있으므로 다른 컨테이너에 놓으면 이동합니다. 선택한 여러 단계를 끌면 모두 함께 이동합니다. 컨테이너 전체를 선택한 상태에서 Cmd/Ctrl을 누른 채 그 단계 중 하나를 끌면 해당 단계만 이동합니다. 단계가 하나도 남지 않은 일반 컨테이너는 제거됩니다. 일반 끌기는 캔버스에서 단계만 이동하고, Cmd/Ctrl+클릭은 여전히 선택을 토글하며, 캔버스 밖에서 놓으면 아무것도 바뀌지 않습니다. 구성원 변경은 다른 레이아웃 변경과 마찬가지로 실행 취소 및 다시 실행할 수 있으며, 잠긴 워크플로는 변경할 수 없습니다.
실행 컨테이너
섹션 제목: “실행 컨테이너”일반 컨테이너는 시각적 그룹화일 뿐입니다. 캔버스를 정리하지만 단계가 실행되는 방식은 바꾸지 않습니다. 컨테이너를 실행 컨테이너로 바꾸면 실행의 단위가 되기도 합니다. 그룹 전체가 하나의 봉인된 하위 워크플로로 실행되어 상위 그래프에서 단일 노드처럼 동작합니다.
켜기 - 컨테이너를 마우스 오른쪽 버튼으로 클릭하고 실행을 켭니다. 컨테이너가 다른 테두리, 헤더의 실행 배지, 입력 포트와 출력 포트와 함께 다시 그려지므로 실행 컨테이너를 일반 그룹과 한눈에 구분할 수 있습니다. 포트 위에 마우스를 올리면 입력 포트와 출력 포트 툴팁이 표시됩니다.
실행 방식 - 봉인된 하위 DAG. 컨테이너를 실행용으로 표시하면 경계가 양방향으로 봉인됩니다.
- 컨테이너의 입력이 도착하기 전에는 내부의 어떤 것도 시작되지 않습니다. 자체 상위 단계가 없는 구성원이라도 모든 구성원 단계는 그룹에 입력을 공급하는 대상을 기다립니다.
- 모든 구성원이 끝나기 전에는 컨테이너의 하위 어떤 것도 시작되지 않습니다. 그룹의 출력은 마지막 구성원이 끝나야 비로소 풀리므로, 상위 워크플로는 컨테이너 전체를 하나의 노드로 취급합니다.
컨테이너 내부의 독립적인 브랜치는 열린 캔버스에서와 똑같이 여전히 병렬로 실행됩니다. 봉인은 그룹의 경계만 제어할 뿐 그 안의 작업 순서는 제어하지 않습니다.
상위 단계를 입력 포트에 연결. 상위 단계에서 컨테이너로 커넥터를 끌어 입력 포트에 놓습니다. 이 연결 하나가 그룹 전체에 입력을 공급하며, 입력이 필요한 모든 구성원은 컨테이너의 입력이 도착하면 이를 받습니다.
출력 포트를 하위 단계에 연결. 컨테이너 오른쪽 가장자리의 출력 포트에서 그룹의 출력을 사용하는 하위 단계로 커넥터를 끕니다. 하위 단계는 모든 구성원이 끝나면 시작되며, 커넥터는 컨테이너의 가장자리에서 그려집니다.
다른 두 단계를 연결할 때처럼 구성원 단계에서 하위 단계로 커넥터를 그릴 수도 있습니다. 런타임이 해당 연결을 컨테이너의 출력 포트로 자동으로 연결해 주므로 두 방법의 결과는 같습니다.
실패 동작. 실패한 구성원은 다른 단계와 동일한 오류 처리를 따릅니다.
- 기본값인 오류 발생 시 중지에서는 구성원이 실패하면 실행이 중단되고 컨테이너 뒤의 모든 것이 보류됩니다.
- 오류 발생 시 계속 에서는 실패한 구성원이 완료된 것으로 처리되며, 남은 브랜치가 끝나면 컨테이너의 출력이 풀리고 하위 작업이 진행됩니다.
실행 컨테이너 사용 안 함. 실행 컨테이너를 사용 안 함으로 설정하면 하나의 단위로 건너뜁니다. 구성원은 실행되지 않으며, 건너뛴 컨테이너는 출력이 없으므로 컨테이너의 하위에 있는 모든 것도 없는 입력으로 실행되는 대신 건너뜁니다. 이는 구성원 단계만 건너뛰고 해당 구성원에 종속되지 않는 하위 단계는 여전히 실행되는 일반(비실행) 컨테이너를 사용 안 함으로 설정하는 것과 다릅니다. 컨테이너를 다시 사용으로 설정하면 그룹 전체가 복원됩니다.
단계 추가 및 제거. 실행 컨테이너의 단계도 Cmd/Ctrl+끌기로 같은 방식으로 변경합니다. 다음 경우에는 PlaidCloud가 이동을 거부하고 메시지를 표시하며 단계를 원래 위치로 되돌립니다.
- 단계가 컨테이너 자체의 입력 포트 또는 출력 포트에 연결되어 있는 경우,
- 이동으로 컨테이너 경계를 통과하는 순환이 만들어지는 경우, 또는
- 컨테이너의 마지막 단계를 제거하게 되는 경우. 이때는 컨테이너 그룹 해제를 사용하세요.
실행 컨테이너 실행 및 모니터링
섹션 제목: “실행 컨테이너 실행 및 모니터링”실행 컨테이너는 하나의 단위로 실행하고 지켜볼 수도 있습니다. 해당 작업만 시작하고, 실행 중에 요약된 상태를 확인하며, 컨테이너 내부의 실패로 바로 이동할 수 있습니다. 캔버스와 실행 모니터 모두에서 가능합니다.
그룹 실행 / 그룹 및 하위 단계 실행. 실행 컨테이너를 마우스 오른쪽 버튼으로 클릭하면 워크플로의 나머지에는 손대지 않고 컨테이너만 실행할 수 있습니다.
- 그룹 실행은 컨테이너의 구성원 단계를 실행합니다.
- 그룹 및 하위 단계 실행은 구성원 그리고 컨테이너 하위의 모든 것을 실행합니다.
둘 다 컨테이너에 입력을 공급하는 상위 단계를 다시 실행하지 않습니다. 이미 있는 입력을 사용해 현재 상태의 그룹을 실행합니다. 둘 다 개별 단계와 같은 선택 항목 실행 메커니즘을 사용하므로, 구성원은 병렬로 실행되고 런타임이 종속성에 따라 순서를 정합니다.
그룹의 실시간 상태. 워크플로가 실행되는 동안 컨테이너에는 구성원의 요약된 상태가 표시됩니다. 상태 점, M개 중 N개 완료 개수, 색 테두리입니다. 상태는 구성원 전체를 반영합니다. 구성원이 하나라도 실패하면 오류, 구성원이 하나라도 실행 중이면 실행 중, 모두 끝나면 완료, 그룹이 건너뛰어지면 건너뜀 등으로 표시됩니다. 접힌 컨테이너는 단일 타일에 같은 집계를 표시하므로, 그룹을 접어 두어도 작업 진행 상황을 확인할 수 있습니다.
실패 지점으로 이동. 그룹에 실패한 구성원이 있으면 상태를 클릭해 캔버스에서 해당 구성원을 선택하고 가운데에 표시할 수 있습니다. 그룹을 뒤져서 실행을 멈춘 원인을 찾을 필요가 없습니다.
실패 지점부터 재시도. 실패한 실행 컨테이너를 마우스 오른쪽 버튼으로 클릭하고 실패 지점부터 재시도를 선택하면 실패한 구성원(들)과 그룹 내부에서 그 구성원의 하위에 있는 항목만 다시 실행하며, 이미 성공한 구성원은 건너뜁니다. 이 점이 구성원 전체를 다시 실행하는 그룹 실행과 다릅니다. 실패 지점부터 재시도는 구성원이 걸린 문제를 해결한 뒤 정상 상태로 돌아가는 더 빠른 방법입니다.
마지막 실행 시간. 컨테이너 헤더에는 구성원의 마지막 실행 시간 합계가 표시되므로, 구성원 시간을 직접 더하지 않고도 그룹 전체의 비용을 한눈에 읽을 수 있습니다.
포트 툴팁. 실행 컨테이너의 입력 포트 또는 출력 포트 위에 마우스를 올리면 해당 경계를 통과하는 테이블, 즉 그룹이 받아들이는 입력 또는 하위로 넘기는 출력이 툴팁에 나열됩니다.
컨테이너 반복
섹션 제목: “컨테이너 반복”실행 컨테이너는 값 집합의 반복마다 한 번씩 봉인된 하위 DAG를 실행할 수 있습니다. 따라서 한 지역의 데이터를 로드하고 변환하는 그룹이 지역마다 단계를 복사하지 않고도 모든 지역을 차례로 처리할 수 있습니다. 실행 컨테이너를 마우스 오른쪽 버튼으로 클릭하고 컨테이너 설정… 옵션을 선택한 다음 반복 대상 탭에서 이 실행 컨테이너 반복을 선택하면 반복이 켜집니다(반복은 하나의 단위로 실행되는 그룹을 구동하므로 이 설정은 실행 컨테이너에만 나타납니다). 반복은 선택 사항입니다. 확인란을 선택하지 않으면 컨테이너가 한 번 실행되므로, 반복 설정 없이 컨테이너가 조건만 가질 수 있습니다.
루프 구성. 컨테이너 설정… 대화 상자의 반복 대상 탭은 Workflow Loop 단계와 같은 반복 모델을 탭으로 나뉜 하위 페이지에서 사용합니다. 반복 집합을 구성하는 방식을 선택하세요.
-
Specify Variable Values to Iterate Over - 수동 값 반복 탭에서 값을 직접 정의합니다. 루프 변수를 하나 이상 추가하고, 각 변수에 명시적인 값 목록 또는 범위를 지정합니다.
범위 유형 반복 횟수 단위 정수 시작, 종료, 증분으로 정해지는 숫자마다 대문자 알파벳 / 소문자 알파벳 범위( A–Z또는a–z)의 문자마다범위에는 건너뛸 제외 값 목록을 지정할 수 있습니다. 변수를 두 개 이상 정의하면 컨테이너는 값의 조합(데카르트 곱)마다 한 번씩 실행됩니다.
-
Use Combination of Unique Values in Table - 반복 대상 탭에서 소스 테이블을 선택한 다음 Data to Variable Mapping 탭에서 해당 테이블의 열을 하나 이상 루프 변수 이름에 매핑합니다. 컨테이너는 해당 열 값의 고유 조합마다 한 번씩 실행됩니다. 고려할 행을 제한하려면 Table Data Filters 탭을 사용하세요.
컨테이너 내부의 단계는 다른 워크플로 변수와 마찬가지로 각 루프 변수를 {region}처럼 참조하므로, 구성원의 SQL, 식, 테이블 이름, 파일 경로가 모두 반복마다 달라질 수 있습니다. 선택적으로 Combine all iterations’ output을 켜면 마지막 결과만 유지하는 대신 각 회차의 결과를 누적합니다. 현재 상태는 아래 참고를 확인하세요.
실행 방식. 반복은 한 회차 다음에 다음 회차로 직렬로 실행됩니다. 구성원이 루프 변수를 공유하므로 두 회차가 동시에 실행되면 서로의 값을 읽게 됩니다. 각 반복은 루프 변수를 다음 값(또는 조합)에 바인딩한 다음 일반적인 실행 컨테이너 실행과 마찬가지로 그룹 전체를 실행하며, 다음 반복은 이전 반복이 끝나야 시작됩니다. 컨테이너당 최대 1,000회 반복할 수 있습니다.
하위 단계가 읽는 것. 각 회차가 그룹의 출력 테이블을 덮어쓰므로, 컨테이너의 하위 단계는 마지막 반복의 출력을 읽습니다. 모든 반복의 행이 필요하면 Combine all iterations’ output을 켜서 회차가 교체되지 않고 누적되도록 하세요.
예를 들어 지역별로 필터링된 추출 결과를 하나씩 만들려면, 값 목록이 East, West인 루프 변수 region을 추가하고 구성원 단계에 변수를 읽는 필터를 지정합니다.
SELECT * FROM sales WHERE region = '{region}'컨테이너는 region = 'East', 그다음 region = 'West'로 두 번 실행되며, 매번 봉인된 그룹 전체를 실행합니다.
컨테이너 조건
섹션 제목: “컨테이너 조건”실행 컨테이너는 컨테이너 전체의 실행 여부를 결정하는 조건을 가질 수도 있습니다. 단계의 조건이 사용하는 변수, 테이블, 문서, 시간 검사와 같으므로 두 가지는 같은 방식으로 동작합니다. 컨테이너를 마우스 오른쪽 버튼으로 클릭하고 컨테이너 설정… 옵션을 선택한 다음 조건 탭(단계의 조건이 있는 위치인 첫 번째 탭)을 엽니다. 이는 단계가 사용하는 것과 동일한 조건 UI이며 변경된 점이 없습니다. 조건에는 반복이 필요 없으므로 이 실행 컨테이너 반복을 끈 상태로 컨테이너에 조건만 지정할 수 있습니다.
진입 시 한 번 평가. 컨테이너의 조건은 그래프에서 컨테이너에 도달했을 때 단 한 번 확인됩니다. 구성원마다 확인하지 않으며, 반복 컨테이너에서도 반복마다 확인하지 않습니다. 조건이 통과하면 모든 구성원 단계가 평소처럼 실행됩니다. 조건이 실패하면 구성원이 실행되지 않으며, 컨테이너는 출력이 없으므로 사용 안 함으로 설정된 컨테이너와 마찬가지로 컨테이너의 하위에 있는 모든 것도 건너뜁니다.
건너뛰기만 가능 - “이동”은 없습니다. 단계의 실패한 조건은 그냥 통과시키는 대신 실행을 이름이 지정된 단계로 보낼 수 있지만, 컨테이너의 조건은 그렇지 않습니다. 단계가 제공하는 “이동할 단계” 선택기는 컨테이너에서는 숨겨지므로, 컨테이너 조건이 실패하면 항상 컨테이너와 그 하위의 모든 것을 건너뜀을 의미하며 선택할 수 있는 다른 도착 지점은 없습니다.
조합 방식:
- 사용 안 함이 우선합니다. 사용 안 함으로 설정한 컨테이너는 조건과 관계없이 건너뜁니다. 사용 안 함은 조건을 전혀 평가하지 않는 더 강력한 무조건 건너뛰기입니다.
- 반복은 반복되지 않고 게이트됩니다. 반복과 조건을 모두 가진 컨테이너는 첫 번째 반복 전에 조건을 한 번 확인하여 루프를 실행할지 결정합니다. 조건이 실패하면 첫 번째 반복만이 아니라 모든 반복을 건너뛰며, 통과한 경우에는 회차마다 다시 확인하지 않습니다.
- 재개해도 결정이 유지됩니다. 이런 방식으로 컨테이너를 건너뛴 실행을 재개해도 조건을 다시 평가하지 않습니다. 컨테이너는 일시 중지 이전에 완료된 다른 결정과 마찬가지로 계속 건너뛴 상태로 유지됩니다.
- 잘못된 조건은 실행을 실패시킵니다. 조건을 평가하는 중에 발생한 오류(예: 잘못 구성된 검사)는 해당 오류와 함께 실행을 실패시킵니다. 실패한 조건과 같은 방식으로 처리되지 않으므로 컨테이너를 조용히 건너뛰지 않습니다.
인스펙터
섹션 제목: “인스펙터”도킹된 단계 인스펙터에는 선택한 단계에 대한 모든 정보가 표시됩니다.
- 입력과 출력 - 단계로 들어오고 나가는 데이터. 입력 또는 출력 카드의 눈 아이콘은 데이터 미리 보기 드로어를 열어 해당 테이블의 처음 몇 행을 빠르게 볼 수 있게 합니다.
- 실행 통계 - 단계의 마지막 실행 결과, 마지막 소요 시간, 실행 횟수, 평균 및 p95 소요 시간을 포함한 시간 요약, 그리고 있는 경우 마지막 실행 오류 또는 마지막 실행 경고.
- 단계 구성 편집… 및 단계 세부 정보 편집… - 단계의 양식으로 바로 이동하며, 이름을 클릭해 단계 이름을 인라인으로 바꿀 수 있습니다.
- 단계 구성 롤백(Flashback) - 단계의 구성을 이전에 저장된 버전으로 복원합니다.
- 실행 기록 보기 - 이 단계의 전체 실행 기록을 엽니다.
단계 하나를 선택하면 검사할 수 있으며, 여러 개를 선택하면 인스펙터가 캔버스 도구 모음의 일괄 작업으로 안내합니다.
인스펙터는 크기를 조정할 수 있으며(인스펙터와 캔버스 사이의 구분선을 끕니다) 접을 수 있습니다. 단계 이름 옆의 갈매기 표시(또는 ] 키)를 누르면 선택한 단계의 이름을 옆으로 계속 표시하는 좁은 레일로 접히므로, 무엇을 선택했는지 놓치지 않고 너비를 캔버스에 돌려줄 수 있습니다. 레일의 아무 곳이나 클릭하면 다시 열립니다. 팔레트 및 인스펙터 창 접기와 크기 조정을 참조하세요.
실행 기록
섹션 제목: “실행 기록”View this workflow’s run history를 선택하면 요약 통계와 함께 과거 실행을 볼 수 있습니다. 캔버스는 최근 실행 기록으로 히트맵도 그려 주므로, 자주 실패하거나 느린 단계가 한눈에 눈에 띕니다.
로그 보기
섹션 제목: “로그 보기”도구 모음에서 로그 보기를 클릭하면 이 워크플로로 이미 필터링된 프로젝트의 로그 보기로 바로 이동합니다. 프로젝트 영역에서 접근하는 전체 실행 로그와 같습니다. 워크플로 로그 보기를 참조하세요.
캔버스에서 워크플로를 열 수 없는 경우
섹션 제목: “캔버스에서 워크플로를 열 수 없는 경우”저장된 레이아웃의 일부를 읽을 수 없는 경우에도 캔버스는 워크플로를 엽니다.
- 저장된 위치나 크기가 없는 컨테이너 - 예를 들어 API 또는 MCP로 만든 컨테이너는 열리며 구성원 단계 주위에 그려집니다.
- 읽을 수 없는 다른 레이아웃 항목 - 워크플로는 그대로 열리며, 레이아웃을 일부 읽을 수 없음 알림에 재설정되거나 숨겨진 항목이 최대 세 개까지 나열되고 그 이후는 …외 N개로 표시됩니다. 숨겨진 주석은 다음에 레이아웃을 저장할 때 제거됩니다.
- 로드할 수 없는 워크플로 - 빈 캔버스 대신 워크플로를 로드할 수 없음 메시지가 이유를 알려 줍니다. 캔버스를 닫고 워크플로를 다시 여세요.
- 표준 워크플로 - 캔버스에 시각적 캔버스를 사용할 수 없음 - 이 워크플로는 고급이 아닙니다. ’고급으로 변환…’을 사용하여 시각적 캔버스를 사용 설정하세요. 라고 표시됩니다. 사용 설정하려면 워크플로에서 고급으로 변환… 옵션을 선택하세요. 표준 워크플로와 고급 워크플로를 참조하세요.
다음 단계
섹션 제목: “다음 단계”- 종속성 동기화 - 각 단계가 자신이 읽는 테이블을 쓰는 단계 뒤에 실행되도록 하는 커넥터를 추가합니다
- 워크플로 최적화 - 추출 단계를 병합하고 종속성을 다시 구성하여 워크플로를 더 빠르게 실행합니다
- 단계 데이터 미리 보기 - 도킹된 데이터 미리 보기 드로어에서 모든 단계의 출력을 찾아봅니다
- 워크플로 로그 보기 - 워크플로의 전체 실행 로그를 읽습니다
- 워크플로 실행 - 워크플로를 처음부터 끝까지 실행합니다
- 단계 오류 관리 - 실패 디버깅
- 예정된 실행 캘린더 - 예약된 워크플로가 실행되는 시점을 확인합니다