Dataproc 클러스터 캐싱을 사용 설정하면 클러스터는 Spark 작업에서 자주 액세스하는 Cloud Storage 데이터를 캐시합니다.
이점
- 성능 향상: 캐싱은 스토리지에서 데이터를 검색하는 데 소요되는 시간을 줄여 작업 성능을 높일 수 있습니다.
- 스토리지 비용 절감: 핫 데이터가 로컬 디스크에 캐시되므로 데이터를 검색하는 스토리지 API 호출이 감소합니다.
제한사항 및 요구사항
- 캐싱은 Dataproc Spark 작업에만 적용됩니다.
- Cloud Storage 데이터만 캐시됩니다.
- 캐싱은 다음 요구사항을 충족하는 클러스터에만 적용됩니다.
- 클러스터에 마스터 하나와
n
개 작업자가 있습니다. 고가용성(HA) 및 단일 노드 클러스터는 지원되지 않습니다. - 이 기능은 Compute Engine 이미지 버전
2.0.72+ or 2.1.20+
의 Dataproc에서 제공됩니다. - 각 클러스터 노드에 NVME(비휘발성 메모리 익스프레스) 인터페이스가 있는 로컬 SSD가 연결되어 있어야 합니다. 영구 디스크(PD)는 지원되지 않습니다. NVME 로컬 SSD에만 데이터가 캐시됩니다.
- 클러스터가 인증에 기본 VM 서비스 계정을 사용합니다. 커스텀 VM 서비스 계정은 지원되지 않습니다.
- 클러스터에 마스터 하나와
클러스터 캐싱 사용 설정
Google Cloud 콘솔, Google Cloud CLI 또는 Dataproc API를 사용하여 Dataproc 클러스터를 만들 때 클러스터 캐싱을 사용 설정할 수 있습니다.
Google Cloud 콘솔
- Google Cloud 콘솔에서 Dataproc Compute Engine에서 클러스터 만들기 페이지를 엽니다.
- 클러스터 설정 패널이 선택되었습니다. Spark 성능 향상 섹션에서 Google Cloud Storage 캐싱 사용 설정을 선택합니다.
- 클러스터 만들기 패널에서 클러스터 세부정보를 확인하고 지정한 후 만들기를 클릭합니다.
gcloud CLI
gcloud dataproc clusters create 명령어를 터미널 창에서 로컬로 실행하거나 Cloud Shell에서 dataproc:dataproc.cluster.caching.enabled=true
클러스터 속성을 사용하여 실행합니다.
예:
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --properties dataproc:dataproc.cluster.caching.enabled=true \ --num-master-local-ssds=2 \ --master-local-ssd-interface=NVME \ --num-worker-local-ssds=2 \ --worker-local-ssd-interface=NVME \ other args ...
REST API
SoftwareConfig.properties를 설정하여 "dataproc:dataproc.cluster.caching.enabled": "true"
클러스터 속성을 clusters.create 요청에 포함합니다.