이 페이지에서는 자주 묻는 Dataproc Serverless 질문에 대한 답변을 제공합니다.
Compute Engine에서 Dataproc 대신 Spark용 Dataproc Serverless를 사용해야 하는 경우는 언제인가요?
Dataproc Serverless:
- PySpark 커널 Jupyter 노트북에서 Spark 일괄 워크로드 및 대화형 세션을 지원합니다.
- Dataproc Serverless는 워크로드 및 대화형 세션 인프라를 만들고 관리합니다.
Compute Engine 기반 Dataproc:
다양한 유형의 Spark 작업 및 Flink, Hadoop, Hive, Pig, Presto 등 다른 오픈소스 구성요소를 기반으로 하는 작업을 제출할 수 있습니다.
인프라를 만들고 관리하지 않습니다. Dataproc 클러스터를 만들고 관리합니다.
Spark용 Dataproc Serverless로 무엇을 할 수 있나요?
Spark 스트리밍 라이브러리를 사용하여 스트리밍 작업을 실행합니다. 참고: 스트리밍은 관리형 서비스가 아니므로 체크포인트와 재시작을 직접 관리해야 합니다.
Spark MLlib을 사용하여 모델을 학습시킵니다.
데이터 탐색, 그래프, 시계열, 지리정보 분석에 대화형 SQL 노트북을 사용하세요.
관리형 Apache Airflow 서비스인 Cloud Composer로 Spark용 Dataproc Serverless 워크로드를 조정합니다.
워크로드 실행 계획은 어떻게 설정해야 하나요?
워크로드를 동시에 또는 순차로 실행할 수 있습니다. 실행 계획은 Google Cloud 리소스 할당량에 영향을 미칩니다. 일괄 리소스 할당량에서 허용하는 범위 내에서 여러 워크로드를 동시에 실행할 수 있습니다.
Spark용 Dataproc Serverless로 커스텀 이미지를 사용할 수 있나요?
- 예. 기본 컨테이너 이미지 대신 커스텀 컨테이너 이미지를 사용할 수 있습니다. Spark용 Dataproc Serverless에 커스텀 컨테이너 사용을 참조하세요.
Dataproc Serverless Spark 워크로드에 메모리 및 디스크 리소스를 지정할 수 있나요?
예. 워크로드를 제출할 때 프리미엄 실행자 및 드라이버 컴퓨팅과 디스크 계층, 드라이버 및 실행자가 컴퓨팅할 양, 할당할 디스크 리소스의 양을 지정할 수 있습니다(리소스 할당 속성을 참조하세요).
Dataproc Serverless VPC 네트워크의 IP 주소 범위를 지정하려면 어떻게 해야 하나요?
Spark용 Dataproc Serverless 워크로드가 사용자 환경 내에서 실행됩니다.
서버리스 Spark 워크로드의 각 Spark 드라이버 및 Spark 실행자는 Dataproc Serverless VPC 네트워크의 내부 IP 주소 하나를 사용합니다.
/16
은 Dataproc Serverless VPC 네트워크에 대한 일반적인 사용자 지정 CIDR IP 주소 범위입니다.
실행하려는 동시 워크로드 수를 기준으로 네트워크의 IP 주소 범위를 제한할 수 있습니다.
Dataproc Serverless는 데이터 상주를 지원하나요?
예. 워크로드가 처리되는 리전을 지정합니다. 지정한 리전에서 입력 및 출력 데이터 세트를 찾습니다.
Dataproc Serverless는 지정된 리전 내에서 워크로드를 실행할 영역을 어떻게 선택하나요?
Dataproc Serverless는 용량 및 가용성에 따라 워크로드를 실행하는 Compute Engine 영역을 선택합니다. 워크로드가 시작된 후 영역을 사용할 수 없게 되면 워크로드가 실패하며 실패한 워크로드는 다시 제출해야 합니다.
Dataproc Serverless 워크로드는 어떤 방식으로 컴퓨팅 리소스를 사용하나요?
각 워크로드는 자체 컴퓨팅 리소스에서 실행됩니다. 여러 배치 제출은 컴퓨팅 리소스를 공유하거나 재사용하지 않습니다.
Best Practices:
단기 실행 작업이 아닌 중기 실행 작업에 대해 워크로드를 최적화합니다.
Cloud Storage에서 여러 워크로드가 액세스하는 데이터를 유지합니다.
Dataproc Serverless 공지사항, 기능, 버그 수정, 알려진 문제, 지원 중단에 대한 정보는 어디에서 찾을 수 있나요?
Dataproc Serverless 출시 노트를 참조하세요.
동시 실행 워크로드가 리소스를 두고 경합하나요?
Dataproc Serverless 워크로드는 리소스 할당량이 부족하여 동시에 실행되는 모든 워크로드를 실행하기에 부족한 경우에만 리소스 경합이 발생합니다. 그 외의 경우에는 워크로드가 서로 완전히 격리됩니다.
Dataproc Serverless 할당량은 어떻게 할당되나요?
Dataproc Serverless 배치는 Google Cloud 리소스를 사용합니다. 자세한 내용은 Dataproc Serverless 할당량을 참조하세요.
Dataproc 영구 기록 서버를 설정해야 하나요?
Dataproc Serverless에서 사용할 영구 기록 서버(PHS)를 설정하는 것은 선택사항입니다. 표준 Dataproc Serverless 스테이징 및 임시 버킷 90일 보관 기간(TTL) 이후에도 PHS를 사용하여 지정된 Cloud Storage 버킷에서 Spark 이벤트 및 기타 로그를 볼 수 있습니다.
어떤 Dataproc Serverless Spark 로그를 사용할 수 있나요?
Spark 실행자 및 드라이버 로그는 Spark 워크로드 실행 중 및 실행 후 Cloud Logging에서 확인할 수 있습니다. 또한 Spark 애플리케이션은 워크로드가 실행되는 동안 영구 기록 서버(PHS) 웹 인터페이스(PHS UI에서 PHS > 불완전한 애플리케이션 선택)에 표시됩니다.
Dataproc PHS를 설정하면 Cloud Storage에 저장된 Spark 이벤트 로그에 대한 영구 액세스 권한이 제공되어 DAG 및 실행자 이벤트와 같은 Spark 앱 실행에 대한 유용한 정보를 제공합니다.
Spark 워크로드의 실행자 수를 설정할 수 있나요?
예. spark.executor.instances
속성을 사용하여 Spark 워크로드의 실행자 수를 설정할 수 있습니다. 그러나 Spark는 코어당 1개의 작업을 실행하므로, 워크로드가 사용할 수 있는 전체 코어 수는 실행자 수보다 중요합니다. 예를 들어 워크로드에 각각 2개의 코어가 있는 실행자 4개가 있는 경우 동시에 실행되는 태스크 수는 4 * 2 = 8
입니다. 각각 4개의 코어가 있는 실행자 2개가 있는 워크로드에 대해서도 동일한 수의 태스크를 실행합니다. 각 워크로드의 코어 수가 동일하므로 동일한 수의 태스크가 실행됩니다. spark.executor.cores
속성을 사용하여 Dataproc Serverless 워크로드의 실행자당 코어 수를 설정할 수 있습니다.
Dataproc Serverless는 자동 확장에 어떤 Spark 측정항목을 사용하나요?
Spark용 Dataproc Serverless에서 maximum-needed
및 running
Spark 동적 할당 측정항목을 확인하여 확장 또는 축소할지를 결정합니다.
Spark용 Dataproc Serverless 자동 확장을 참조하세요.
Spark 속성을 사용하여 Dataproc Serverless 자동 확장 동작을 구성할 수 있나요?
예. Dataproc Serverless 자동 확장은 Spark 동적 할당을 기반으로 하며 기본적으로 사용 설정됩니다. 다음 Spark 속성 및 Spark 동적 할당 속성을 조정할 수 있습니다.
spark.executor.instances
spark.dynamicAllocation.initialExecutors
spark.dynamicAllocation.minExecutors
spark.dynamicAllocation.maxExecutors
Spark 워크로드를 제출하기 위해 코드를 JAR 파일에 패키징해야 하는 이유는 무엇인가요?
Spark는 Scala로 작성됩니다. 즉, 드라이버와 작업자 프로세스가 모두 JVM 프로세스로 작동합니다. JVM 언어에서 JAR 파일은 코드를 패키징하는 기본 방법입니다. 워크로드를 제출할 때 JAR 파일을 Dataproc Serverless에 전달합니다.