Job group으로 출력 실행 단위 정하기
Job group은 여러 출력을 어떤 job에서 함께 계산할지 정합니다. 그룹 안의 출력은 컴퓨팅 자원을 공유하며, 그룹마다 다른 프로필을 설정할 수 있습니다.
| 파이프라인 | 기본 실행 단위 | 그룹을 바꿀 때의 목적 |
|---|---|---|
| 배치 | 출력마다 별도 job으로 빌드하며 각각 성공하거나 실패합니다. | 여러 출력을 묶어 같은 job에서 실행하고 checkpoint의 중간 결과를 재사용합니다. |
| 스트리밍 | 모든 출력을 하나의 Flink 클러스터에서 실행하는 단일 job으로 묶습니다. 함께 성공하거나 실패합니다. | 출력들을 분리하여 독립적으로 실행합니다. 그룹마다 별도 Flink 클러스터가 필요하므로 비용이 늘어납니다. |
배포할 때 선택한 빌드 안에서 이러한 job들이 실행됩니다. 로직 배포와 데이터 빌드의 선택은 배포 절차를 따릅니다.
증분 또는 스트리밍 파이프라인에서 출력의 그룹을 바꾸면 state break가 발생하며 replay가 필수입니다. 단순한 그래프 색 변경과 구분해야 합니다.
그룹 할당
출력 노드를 오른쪽 클릭하여 Assign job group을 엽니다. 배치는 기본적으로 개별 job이고 스트리밍은 기본 단일 그룹입니다.
New group은 새 그룹을 만들고, Use default는 해당 파이프라인 유형의 기본 방식으로 되돌립니다. 오른쪽 Build settings가 열리며 그래프에서 구분할 그룹 색을 자동으로 지정합니다.
배치의 그룹 없는 출력은 Single ungrouped jobs 구역에 별도로 표시됩니다. 다른 출력의 메뉴에서 기존 그룹을 고르거나 패널에서 출력을 다른 그룹으로 옮길 수 있습니다.
그룹별 프로필
패널 위에는 기본 프로필이 표시됩니다. 각 그룹 머리글의 Add profile로 그 그룹에 별도 프로필을 설정합니다. 예시에서는 기본 Small과 별도로 Group 1에 Medium을 적용합니다.
오른쪽 위 Apply로 변경을 저장한 뒤 배포합니다.
같은 그룹으로 묶은 출력은 checkpoint를 공유할 수 있습니다. 모든 출력을 묶으면 컴퓨팅 재사용이 쉬워지지만, 독립적인 실행이나 실패 분리가 필요한 출력은 별도 그룹을 검토합니다.
보안 표지의 그룹 내 상속
같은 job group의 모든 출력은 그룹의 모든 입력에서 보안 표지를 상속합니다. 그래프에서 직접 연결되지 않은 입력의 표지도 전달됩니다.
예를 들어 보안 표지가 있는 Input_A와 없는 Input_B가 있고, 그 결과인 Output_X, Output_Y를 같은 그룹에 넣으면 Output_Y도 Input_A의 보안 표지를 상속합니다.
다른 입력 때문에 표지를 받을 수 있는 출력에는 배지가 표시됩니다. Diff와 rebase 화면에도 이 표시가 나타납니다. 해당 표지를 전파하지 않아야 하는 경우에는 보안 표지 제거 승인의 권한과 절차를 적용해야 합니다.