Cloud Profiler는 애플리케이션 CPU 사용량과 메모리 할당 정보를 지속적으로 수집하고 보고합니다. 다음 표에 나열된 프로파일링 속성을 사용하여 일괄 처리를 제출하거나 세션 워크로드를 만들 때 프로파일링을 사용 설정할 수 있습니다.
Spark를 위한 Dataproc Serverless는 워크로드에 사용되는 spark.driver.extraJavaOptions
및 spark.executor.extraJavaOptions
구성에 관련 JVM 옵션을 추가합니다.
옵션 | 설명 | 값 | 기본값 |
---|---|---|---|
dataproc.profiling.enabled |
워크로드 프로파일링 사용 설정 | true 또는 false |
false |
dataproc.profiling.name |
Profiler 서비스의 프로필 이름 | PROFILE_NAME | spark-WORKLOAD_TYPE-WORKLOAD_ID, 각 항목의 의미는 다음과 같습니다. |
참고:
- Spark를 위한 Dataproc Serverless는 프로파일러 버전을 일괄 UUID 또는 세션 UUID로 설정합니다.
- Profiler는
Spark
,PySpark
,SparkSql
,SparkR
과 같은 Spark 워크로드 유형을 지원합니다. - Profiler가 데이터를 수집하고 프로젝트에 업로드하려면 워크로드가 3분 넘게 실행되어야 합니다.
SparkConf
를 구성한 다음 코드에서extraJavaOptions
를 설정하여 워크로드와 함께 제출된 프로파일링 옵션을 재정의할 수 있습니다. 워크로드가 제출될 때extraJavaOptions
속성을 설정해도 워크로드와 함께 제출된 프로파일링 옵션은 재정의되지 않습니다.
일괄 제출에 사용되는 프로파일러 옵션의 예시는 PySpark 일괄 워크로드 예시를 참조하세요.
프로파일링 사용 설정
워크로드에서 프로파일링을 사용 설정하려면 다음 단계를 완료하세요.
- Profiler를 사용 설정합니다.
- 커스텀 VM 서비스 계정을 사용하는 경우 커스텀 VM 서비스 계정에 Cloud Profiler 에이전트 역할을 부여합니다. 이 역할에는 필수 Profiler 권한이 포함됩니다.
- 일괄 워크로드를 제출하거나 세션 템플릿을 만들 때 프로파일링 속성을 설정합니다.
PySpark 일괄 워크로드 예시
다음 예시에서는 gcloud CLI를 사용하여 프로파일링이 사용 설정된 PySpark 일괄 워크로드를 제출합니다.
gcloud dataproc batches submit pyspark PYTHON_WORKLOAD_FILE \ --region=REGION \ --properties=dataproc.profiling.enabled=true,dataproc.profiling.name=PROFILE_NAME \ -- other args
두 개의 프로필이 생성됩니다.
- Spark 드라이버 작업을 프로파일링하는
PROFILE_NAME-driver
- Spark Executor 작업을 프로파일링하는
PROFILE_NAME-executor
프로필 보기
Google Cloud 콘솔의 Profiler에서 프로필을 확인할 수 있습니다.