Dataproc WorkflowTemplates API는 워크플로를 관리하고 실행하는 데 유연하고 사용이 간편한 메커니즘을 제공합니다. 워크플로 템플릿은 재사용 가능한 워크플로 구성입니다. 작업 그래프를 해당 작업을 실행할 위치에 관한 정보와 함께 정의합니다.
핵심 사항:
- 워크플로 템플릿을 인스턴스화하면 워크플로가 시작됩니다. 워크플로는 클러스터에서 작업의 DAG(방향성 비순환 그래프)를 실행하는 작업입니다.
- 워크플로는 복잡한 작업 흐름에 이상적입니다. 작업의 종속 항목이 성공적으로 완료된 후에만 작업이 시작되도록 작업 종속 항목을 만들 수 있습니다.
- 워크플로 템플릿을 만들 때 Dataproc은 클러스터를 만들거나 클러스터에 작업을 제출하지 않습니다. 워크플로 템플릿이 인스턴스화될 때 Dataproc은 클러스터를 만들거나 선택하고 클러스터에서 워크플로 작업을 실행합니다.
워크플로 템플릿 종류
관리형 클러스터
워크플로 템플릿은 관리형 클러스터를 지정할 수 있습니다. 워크플로는 '임시' 클러스터를 만들어 워크플로 작업을 실행하고, 워크플로가 완료되면 이 클러스터를 삭제합니다.
클러스터 선택기
워크플로 템플릿은 이전에 클러스터에 연결된 사용자 라벨을 1개 이상 지정함으로써 워크플로 작업을 실행할 기존 클러스터를 지정할 수 있습니다. 워크플로는 모든 라벨과 일치하는 클러스터에서 실행됩니다. 여러 클러스터가 모든 라벨과 일치하는 경우 Dataproc은 사용 가능한 YARN 메모리가 가장 많은 클러스터를 선택하여 모든 워크플로 작업을 실행합니다. 워크플로가 끝났을 때 Dataproc은 선택한 클러스터를 삭제하지 않습니다. 자세한 내용은 워크플로에 클러스터 선택기 사용을 참조하세요.
파라미터 사용
서로 다른 값을 사용해서 워크플로 템플릿을 여러 번 실행할 경우에는 실행할 때마다 워크플로 템플릿을 수정할 필요가 없도록 파라미터를 사용합니다.
템플릿에서 파라미터를 정의한 후
실행할 때마다 파라미터에 다른 값을 전달합니다.
자세한 내용은 워크플로 템플릿의 매개변수화를 참조하세요.
인라인
워크플로 템플릿 YAML 파일과 함께 gcloud
명령어를 사용하거나 Dataproc InstantiateInline API를 호출하여 워크플로를 인라인으로 인스턴스화할 수 있습니다(인라인 Dataproc 워크플로 사용 참조).
인라인 워크플로는 워크플로 템플릿 리소스를 만들거나 수정하지 않습니다.
워크플로 템플릿 사용 사례
반복적 작업의 자동화. 자주 사용되는 클러스터 구성과 작업을 워크플로가 캡슐화합니다.
Transactional fire-and-forget API 상호작용 모델. 워크플로 템플릿은 다음을 비롯하여 일반적인 흐름에 포함된 단계를 대체합니다.
- 클러스터 만들기
- 작업 제출
- 폴링
- 클러스터 삭제
워크플로 템플릿은 단일 토큰을 사용하여 클러스터 만들기부터 삭제까지의 진행 상황을 추적하며 오류 처리 및 복구를 자동화합니다. 또한 Dataproc을 Cloud Run Functions 및 Cloud Composer와 같은 다른 도구와의 통합을 간소화합니다.
임시 및 장기 클러스터 지원. Apache Hadoop을 실행할 때 흔히 겪는 어려움은 클러스터를 미세 조정하고 크기를 알맞게 조정하는 것입니다. 임시(관리형) 클러스터는 단일 작업 부하를 실행하므로 더 쉽게 구성될 수 있습니다. 클러스터 선택기를 장기 클러스터와 함께 사용하면 클러스터를 만들고 삭제하는 데 드는 상각비용 없이 동일한 워크로드를 반복적으로 실행할 수 있습니다.
세분화된 IAM 보안. Dataproc 클러스터를 만들고 작업을 제출하려면 전체 IAM 권한이 필요하거나 전혀 필요하지 않습니다. 워크플로 템플릿은 템플릿별 workflowTemplates.instantiate 권한을 사용하며 클러스터 또는 작업 권한에 종속되지 않습니다.