Dataflow는 웹 기반 모니터링 사용자 인터페이스에서 실행 세부정보 탭을 제공합니다. 이 도구는 작업 성능을 최적화하고 작업이 느리거나 멈춘 이유를 진단하는 데 도움을 줄 수 있습니다. 이 문서는 Dataflow 작업의 실행 세부정보를 조사해야 하는 모든 Dataflow 사용자를 대상으로 합니다.
이 페이지에서는 실행 세부정보 기능과 사용자 인터페이스 레이아웃을 개괄적으로 요약합니다. 문제 해결 세부정보는 실행 세부정보 탭 사용을 참조하세요.
용어
실행 세부정보를 효과적으로 사용하려면 다음 핵심 개념이 Dataflow 작업에 어떻게 적용되는지 이해해야 합니다.
Dataflow 용어
- 융합 최적화: 여러 단계 또는 변환을 융합하는 Dataflow의 프로세스입니다. 이 프로세스는 사용자 제출 파이프라인을 최적화합니다. 자세한 내용은 융합 최적화를 참조하세요.
- 단계: Dataflow 파이프라인의 결합 단계 단위입니다.
- 마지막 단계: Dataflow 파이프라인의 최종 노드입니다. 파이프라인에는 여러 최종 노드가 있을 수 있습니다.
일괄 작업 용어
- 중요 경로: 전체 작업 런타임에 기여한 파이프라인의 단계 시퀀스입니다. 예를 들어 이 시퀀스에서 다음 단계는 제외됩니다.
- 전체 작업보다 앞서 완료된 파이프라인의 분기
- 다운스트림 처리를 지연시키지 않는 입력
- 작업자: Dataflow 작업을 실행하는 Compute Engine VM 인스턴스입니다.
- 작업 항목: Dataflow에서 선택한 번들에 해당하는 작업 단위입니다.
스트리밍 용어
- 데이터 최신 상태: 실시간과 출력 워터마크 사이의 시간입니다. 자세한 내용은 데이터 최신 상태(스트리밍 파이프라인 전용)를 참조하세요.
실행 세부정보를 사용해야 하는 경우
다음은 Dataflow 작업을 실행할 때 실행 세부정보를 사용하는 일반적인 시나리오를 보여줍니다.
- 파이프라인이 중단되어 문제를 해결하려 합니다.
- 파이프라인이 느리고 파이프라인 최적화를 타겟팅하려 합니다.
- 수정할 필요는 없지만 파이프라인의 실행 세부정보를 확인하여 작업을 이해하려고 합니다.
실행 세부정보 사용 설정
단계 워크플로 뷰는 모든 일괄 작업과 스트리밍 작업에 자동으로 사용 설정됩니다. 일괄 및 스트리밍 작업에는 단계 진행 상황 뷰도 있으며 일괄 작업에는 추가 작업자 진행 상황 뷰가 있습니다.
이 기능을 VM에 사용하기 위해 추가 CPU, 네트워크 등을 필요하지 않습니다. 실행 세부정보는 작업 성능에 영향을 미치치 않는 Dataflow의 백엔드 모니터링 시스템에 의해 수집됩니다.
작업을 시작한 후에는 Dataflow 모니터링 UI를 사용해서 실행 세부정보 탭을 볼 수 있습니다. 자세한 내용은 Dataflow 모니터링 인터페이스 액세스를 참조하세요.
실행 세부정보 탭 사용
실행 세부정보 탭에는 단계 진행 상황, 단계 정보 패널(단계 진행 상황 내부), 단계 워크플로, 작업자 진행 상황의 네 가지 뷰가 포함되어 있습니다. 이 섹션에서는 각 뷰를 살펴보고 작업 성공 및 실패한 Dataflow 작업의 예시를 보여줍니다.
일괄 작업의 단계 진행 상황
일괄 작업의 단계 진행 상황 뷰는 해당 시작 및 종료 시간을 기준으로 정렬된 작업의 실행 단계를 보여줍니다. 시간 길이는 막대로 표시됩니다. 예를 들어 가장 긴 막대를 찾아서 파이프라인의 실행 시간이 가장 긴 단계를 시각적으로 확인할 수 있습니다.
각 막대 아래에서는 시간별 단계의 진행 상태를 보여주는 스파크라인을 볼 수 있습니다. 작업의 전체 런타임에 기여한 단계를 강조 표시하려면 중요 경로 전환을 클릭합니다. 또한 '단계 필터링' 드롭다운을 사용하여 관심 있는 단계만 선택할 수 있습니다.
스트리밍 작업의 단계 진행 상황
스트리밍 작업에 대한 단계 진행 상황 뷰는 두 가지 섹션으로 구분될 수 있습니다. 뷰의 위쪽 절반은 작업의 각 실행 단계에 대한 데이터 최신 상태를 나타내는 차트를 보여줍니다. 차트 위로 마우스를 가져가면 해당 특정 시간 인스턴스의 데이터 최신 상태 값이 제공됩니다. 뷰의 아래쪽 절반은 토폴로지 순서로 정렬된 작업의 실행 단계를 보여줍니다. 여기서 하위 단계가 없는 단계가 위에 표시되고 하위 단계는 가 아래에 나열됩니다. 이 뷰를 사용하면 필요한 것보다 오래 걸리는 파이프라인의 단계를 쉽게 식별할 수 있습니다. 막대는 전체 시간 도메인에서 가장 긴 데이터 최신 상태를 기준으로 크기가 조정됩니다.
스트리밍 작업은 취소, 드레이닝, 업데이트될 때까지 실행됩니다. 차트 위의 시간 선택기를 사용하면 보다 유용한 시간 범위로 도메인을 지정할 수 있습니다. 또한 '단계 필터링' 드롭다운을 사용하여 관심 있는 단계만 선택할 수 있습니다.
단계 진행 상태 보기를 사용하면 스트리밍 작업이 느리거나 중단되었을 때 다음 두 가지 방법으로 이를 쉽게 식별할 수 있습니다.
- 단계별 데이터 최신 상태 차트에는 데이터 최신 상태가 비정상적으로 보이는 시간을 자동으로 표시하는 이상 감지가 포함되어 있습니다. 이 차트는 데이터 최신 상태가 선택한 기간의 99번째 백분위수를 초과할 때 '잠재적 중단'을 강조표시합니다. 마찬가지로 이 차트는 데이터 최신 상태가 95번째 백분위수를 초과할 때 '잠재적 느림'을 강조표시합니다.
- 차트에서 비정상으로 보이는 시간 위로 마우스를 처음 가져가면 병목 현상을 확인할 수 있습니다. 마우스를 가져갔을 때 길게 보이는 막대는 느린 단계를 나타냅니다. 또는 차트의 x축을 클릭하여 해당 시간 인스턴스의 데이터를 표시할 수 있습니다. 중단/느림을 일으키는 단계를 찾기 위한 일반적인 접근 방법은 데이터 최신 상태가 크게 변동되게 만드는 최고 업스트림(맨 위) 또는 최저 다운스트림(맨 아래) 단계를 찾는 것입니다. 이 접근 방법이 모든 시나리오에 적합하지는 않으며, 정확한 원인을 확인하기 위해 추가적인 디버깅이 필요할 수 있습니다.
단계 정보 패널
단계 정보 패널에는 실제 경과 시간이 내림차순으로 정렬된 통합 단계와 연관된 세부 단계 목록이 표시됩니다. 화면 오른쪽에서 패널이 열립니다. 패널을 열려면 단계 진행 상황 뷰에서 막대 중 하나의 위로 마우스를 가져가고 세부정보 보기를 클릭합니다.
단계 워크플로
단계 워크플로는 작업 실행 단계를 보여주며 워크플로 그래프로 표현됩니다. 작업의 전체 런타임에 직접 참여한 단계만 표시하려면 주요 경로 전환 버튼을 클릭합니다.
작업자 진행 상황
일괄 작업의 경우 작업자 진행 상황은 특정 단계의 작업자를 보여줍니다. 스트리밍 작업에서는 이 뷰를 사용할 수 없습니다.
각 막대는 작업자에 예약된 작업 항목에 매핑됩니다. 작업자의 CPU 사용률을 추적하는 스파크라인은 각 작업자 아래에 위치하므로 사용률 저하 문제를 쉽게 찾을 수 있습니다.
이 시각화의 밀도로 인해 단계를 미리 선택하여 이 뷰를 필터링해야 합니다. 먼저 단계 진행 뷰에서 단계를 식별합니다. 해당 단계 위로 마우스를 가져가서 작업자 보기를 클릭하여 작업자 진행 상황 뷰로 들어갑니다.
다음 단계
- 실행 세부정보 탭을 사용하여 문제 해결하기 자세히 알아보기
- Dataflow의 웹 기반 모니터링 사용자 인터페이스의 다양한 구성요소 알아보기