이 페이지에서는 Cloud Data Fusion에서 파이프라인 처리에 대한 기본 용어와 개념을 설명합니다.
파이프라인 성능은 다음 측면에 따라 달라집니다.
- 데이터의 크기와 특성
- 파이프라인 구조
- 클러스터 크기 조정
- Cloud Data Fusion 파이프라인에 사용되는 플러그인
Cloud Data Fusion의 파이프라인 처리 용어
다음 용어는 Cloud Data Fusion의 파이프라인 처리에 적용됩니다.
- 머신 유형
- 사용되는 가상 머신(VM) 유형(CPU, 메모리)입니다.
- 클러스터
- 대규모 데이터 처리 태스크가 처리되도록 함께 작동하는 VM 그룹입니다.
- 마스터 노드와 워커 노드
- 처리할 수 있는 물리적 또는 가상 머신입니다. 마스터 노드는 일반적으로 작업을 조정합니다. 워커 노드는 데이터를 처리하는 실행자를 실행합니다. 머신 특성(프로세스에 사용할 수 있는 메모리 양과 vCore 수)이 있습니다.
- vCore, 코어 또는 CPU
- 컴퓨팅을 수행하는 리소스입니다. 일반적으로 노드는 일정량의 코어를 제공하고 실행자는 CPU 하나 또는 몇 개를 요청합니다. 메모리와 함께 균형을 맞춥니다. 그렇지 않으면 클러스터를 제대로 활용하지 못할 수 있습니다.
- 드라이버
- 전체 클러스터의 중앙 조정자 역할을 하는 단일 VM입니다. 태스크를 관리하고 워커 노드 간에 작업을 예약하며 작업 진행 상황을 모니터링합니다.
- 실행자
- 드라이버의 지시에 따라 실제 데이터 처리 태스크를 수행하는 VM 여러 개입니다. 데이터는 병렬 처리를 위해 이러한 실행자에 걸쳐 파티셔닝되고 배포됩니다. 모든 실행자를 활용하려면 충분한 분할이 있어야 합니다.
- 분할 또는 파티션
- 데이터 세트는 분할(다른 이름: 파티션)로 분할되어 데이터를 동시에 처리합니다. 분할이 부족하면 전체 클러스터를 활용할 수 없습니다.
성능 조정 개요
파이프라인은 머신 클러스터에서 실행됩니다. 권장 프로비저닝 도구인 Dataproc 클러스터에서 Cloud Data Fusion 파이프라인을 실행하면 백그라운드에서 YARN(Yet Another Resource Negotiator)이 사용됩니다. Dataproc은 클러스터 내 리소스 관리에 YARN을 활용합니다. Cloud Data Fusion 파이프라인을 Dataproc 클러스터에 제출하면 기본 Apache Spark 작업에서 리소스 할당 및 태스크 예약에 YARN을 활용합니다.
클러스터는 마스터 노드와 워커 노드로 구성됩니다. 마스터 노드는 일반적으로 작업을 조정하고 워커 노드는 실제 작업을 수행합니다. 클러스터에는 일반적으로 마스터 노드 수가 적고(1 또는 3) 워커 노드는 많습니다. YARN은 작업 조정 시스템으로 사용됩니다. YARN은 마스터 노드에서 Resource Manager 서비스를, 각 워커 노드에서는 노드 관리자 서비스를 실행합니다. 리소스 관리자는 모든 노드 관리자 간에 조정하여 클러스터에서 컨테이너를 만들고 실행할 위치를 결정합니다.
각 워커 노드에서 노드 관리자는 YARN 컨테이너를 실행하는 데 사용할 수 있는 머신 메모리와 CPU의 일부를 예약합니다. 예를 들어 Dataproc 클러스터에서 워커 노드가 n1-standard-4 VM(CPU 4개, 메모리 15GB)인 경우 각 노드 관리자는 YARN 컨테이너를 실행하기 위해 CPU 4개와 메모리 12GB를 예약합니다. 나머지 메모리 3GB는 노드에서 실행되는 다른 Hadoop 서비스를 위해 남겨집니다.
파이프라인이 YARN에서 실행되면 Dataproc에서 파이프라인 워크플로 드라이버, Spark 드라이버, 여러 Spark 실행자가 실행됩니다.
워크플로 드라이버는 파이프라인을 구성하는 Spark 프로그램 하나 이상을 실행합니다. 워크플로 드라이버는 일반적으로 많은 작업을 수행하지 않습니다. 각 Spark 프로그램은 단일 Spark 드라이버와 여러 Spark 실행자를 실행합니다. 드라이버는 실행자 간에 작업을 조정하지만 일반적으로 실제 작업을 수행하지 않습니다. 대부분의 실제 작업은 Spark 실행자에서 수행됩니다.
다음 단계
- Cloud Data Fusion의 병렬 처리 알아보기