Managed Service for Apache Spark에는 프로젝트 및 리전 수준에서 적용되는 API 할당량 한도가 있습니다. 할당량은 60초(1분)마다 재설정됩니다.

다음 표는 프로젝트별 기본 Managed Service for Apache Spark API 할당량 유형, 할당량 한도, 적용되는 메서드를 구체적으로 나열한 것입니다.

할당량 유형 한도 API 메서드 또는 설명
ClusterOperationRequestsPerMinutePerProjectPerRegion 200 CancelOperation(배치 작업 할당량 취소는 클러스터 작업 할당량 취소와 공유됨)
BatchOperationRequestsPerMinutePerProjectPerRegion 200 CreateBatch, DeleteBatch
SessionOperationRequestsPerMinutePerProjectPerRegion 200 CreateSession, DeleteSession, TerminateSession
DefaultRequestsPerMinutePerProjectPerRegion 7,500 GetBatch, ListBatches, GetSession, ListSessions
ActiveOperationsPerProjectPerRegion 5,000 리전의 프로젝트에 있는 모든 유형의 동시 활성 작업 총개수에 대한 한도입니다.

Managed Service for Apache Spark 서버리스 DCU 할당량

Managed Service for Apache Spark 서버리스 런타임 버전 4.0부터는 Compute Engine 할당량 대신 프로젝트의 데이터 컴퓨팅 단위(DCU) 할당량(dataproc.googleapis.com/data_compute_units)이 Managed Service for Apache Spark 서버리스 일괄 워크로드 및 대화형 세션 컴퓨팅 리소스 사용량을 관리하고 제한합니다(기본 Compute Engine 할당량 사용량은 전용 Managed Service for Apache Spark 프로듀서 프로젝트로 리디렉션됨).

Dataproc API의 Google Cloud 콘솔 할당량 페이지에서 DCU 할당량을 확인하고 조정할 수 있습니다. 사용량이 한도에 가까워지면 할당량 조정자를 사용 설정하여 DCU 할당량을 늘릴 수 있습니다.

DCU 소비 계산

DCU 사용량은 Managed Service for Apache Spark 서버리스 DCU 가격 책정과 동일한 수식을 사용하여 VM 형태에서 노드별로 계산됩니다.

  • vCPU당 0.6 DCU
  • 메모리 GB당 0.1DCU, vCPU당 최대 8GB
  • vCPU당 8GB를 초과하는 메모리(확장 메모리) 1GB당 0.2DCU
  • 프리미엄 등급 노드는 표준 등급에서 동일한 형태의 DCU의 1.5배로 계산됩니다.

노드 풀의 DCU는 가장 가까운 정수로 올림됩니다.

DCUs = ceiling(nodes × DCUs per node)

예시: vCPU 4개와 메모리 16GB가 있는 표준 등급 노드는 4 × 0.6 + 16 × 0.1 = 4 DCU를 사용합니다. 이 형태의 드라이버 1개와 실행자 10개가 있는 배치는 44개의 DCU를 사용합니다. 프리미엄 등급의 동일한 배치는 66 DCU를 사용합니다.

제한사항

DCU 할당량에는 다음과 같은 제한사항이 적용됩니다.

  • 런타임 버전: DCU 할당량은 Managed Service for Apache Spark 서버리스 런타임 버전 4.0 이상에 적용됩니다. 4.0 이전의 런타임 버전을 사용하는 워크로드는 DCU 할당량을 사용하지 않으며 프로젝트의 Compute Engine 할당량을 계속 사용합니다.
  • 지원되지 않는 할당량: GPU, 예약, 전역 Compute Engine 할당량은 DCU 할당량 모델에서 지원되지 않습니다.

기타 Google Cloud 할당량

Managed Service for Apache Spark 배치는 다른 Google Cloud 제품을 사용합니다. 이러한 제품에는 Managed Service for Apache Spark 사용에 적용되는 프로젝트 수준 할당량이 있습니다. Compute Engine, Cloud Storage와 같은 일부 서비스는 Managed Service for Apache Spark를 사용해야 합니다. 원하는 경우 BigQuery 및 Bigtable과 같은 다른 서비스를 Managed Service for Apache Spark와 함께 사용할 수 있습니다.

필수 서비스

Managed Service for Apache Spark 배치를 만들려면 할당량 한도를 적용하는 다음 서비스가 필요합니다.

Compute Engine

Managed Service for Apache Spark 일괄 워크로드는 다양한 Compute Engine 리소스를 선택할 수 있습니다.

  • CPU 및 디스크의 확보 가능성 문제를 완화하기 위해 Managed Service for Apache Spark는 여러 머신 계열 및 디스크 유형에서 대체 기능을 지원합니다. 예를 들어 프리미엄 등급에서 일괄 워크로드는 영구 SSD가 있는 N2, 로컬 SSD가 있는 N2D, 영구 디스크가 있는 N2D, Hyperdisk Balanced가 있는 N4 또는 Hyperdisk Balanced가 있는 N4D로 대체될 수 있습니다.

  • 대체 선택 리소스를 사용할 할당량이 부족하면 일괄 워크로드가 실패합니다.

다음 표에는 Managed Service for Apache Spark 일괄 워크로드에 적용되는 Compute Engine 리소스 할당량이 나와 있습니다.

컴퓨팅 등급 할당량
표준 CPUS
프리미엄
  • N2_CPUS
  • N2D_CPUS
  • N4 VM 제품군이 포함된 CPUS_PER_VM_FAMILY
  • N4D VM 제품군이 포함된 CPUS_PER_VM_FAMILY
디스크 등급 할당량
표준 DISKS_TOTAL_GB
프리미엄
  • DISKS_TOTAL_GB
  • N2 및 N2D VM 제품군이 포함된 LOCAL_SSD_TOTAL_GB_PER_VM_FAMILY
  • SSD-TOTAL-GB 또는 Persistent Disk SSD (GB)
  • HDB-TOTAL-GB 또는 Hyperdisk Balanced Capacity (GB)
GPU 가속기 할당량
L4 NVIDIA_L4_GPUS
A100 40GB NVIDIA_A100_GPUS
A100 80GB NVIDIA_A100_80GB_GPUS

Compute Engine 할당량은 지역 및 전체 한도로 나뉩니다. 이러한 한도는 생성한 배치에 적용됩니다. 예를 들어 4개의 드라이버 코어(spark.driver.cores=4)와 4개의 코어가 있는 실행자 2개(spark.executor.cores=4)가 있는 Spark 배치를 실행하려면 12개의 가상 CPU(4 * 3)를 사용합니다. 이 배치 사용량은 리전 할당량 한도인 24개의 가상 CPU에 반영됩니다.

기본 배치 리소스

기본 설정으로 배치를 만들면 다음 Compute Engine 리소스가 사용됩니다.

항목 사용된 리소스
가상 CPU 12
가상 머신(VM) 인스턴스 3
영구 디스크 1,200 GiB

로깅

Managed Service for Apache Spark는 배치 출력 및 로그를 Cloud Logging에 저장합니다. Logging 할당량은 Managed Service for Apache Spark 배치에 적용됩니다.

비필수 서비스

할당량 한도가 있는 다음 서비스를 Managed Service for Apache Spark 배치와 함께 선택적으로 사용할 수 있습니다.

BigQuery

BigQuery로 데이터를 읽거나 쓰면 BigQuery 할당량이 적용됩니다.

Bigtable

Bigtable로 데이터를 읽거나 쓰면 Bigtable 할당량이 적용됩니다.

할당량 또는 IP 주소 제한이 있는 워크로드 식별

다음 Logging 쿼리를 사용하여 할당량에 도달했거나 IP 주소 소진으로 인해 확장할 수 없는 Managed Service for Apache Spark 워크로드를 식별할 수 있습니다.

할당량 쿼리:

jsonPayload.@type="type.googleapis.com/google.cloud.dataproc.logging.AutoscalerLog"