를 통해 Spark SQL 스크립트 실행 StartJobRun API - Amazon EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

를 통해 Spark SQL 스크립트 실행 StartJobRun API

EKS 릴리스 6.7.0 이상의 AmazonEMR에는 를 통해 Spark SQL 스크립트를 실행할 수 있도록 Spark SQL 작업 드라이버가 포함되어 있습니다StartJobRunAPI. 기존 Spark SQL 스크립트를 수정하지 API않고도 StartJobRun 에서 Amazon EMR의 Spark SQL 쿼리를 직접 실행할 수 EKS 있는 SQL 진입점 파일을 제공할 수 있습니다. 다음 표에는 를 통해 Spark SQL 작업에 지원되는 Spark 파라미터가 나열되어 있습니다 StartJobRun API.

다음 Spark 파라미터 중에서 선택하여 Spark SQL 작업에 전송할 수 있습니다. 이러한 파라미터를 사용하여 기본 Spark 속성을 재정의합니다.

옵션 설명

--이름 NAME

애플리케이션 이름
--jars JARS 드라이버 및 실행 클래스 경로에 포함할 jar의 쉼표로 구분된 목록.
--packages 드라이버 및 실행기 클래스 경로에 포함할 jar의 maven 좌표에 대한 쉼표로 구분된 목록.
--exclude-packages 종속성 충돌을 방지하기 artifactId위해 -패키지에 제공된 종속성을 해결하는 동안 제외할 groupId:의 쉼표로 구분된 목록입니다.
--repositories -packages로 지정된 maven 좌표를 검색하기 위한 추가 원격 리포지토리의 쉼표로 구분된 목록.
--파일 FILES 각 실행기의 작업 디렉터리에 배치할 쉼표로 구분된 파일 목록.
--conf PROP=VALUE Spark 구성 속성.
--속성-파일 FILE 추가 속성을 로드할 파일의 경로.
--드라이버-메모리 MEM 드라이버의 메모리. 기본 1,024MB.
--driver-java-options 드라이버에 전달할 추가 Java 옵션.
--driver-library-path 드라이버에 전달할 추가 라이브러리 경로 항목.
--driver-class-path 드라이버에 전달할 추가 클래스 경로 항목.
--executor-memory MEM 실행기당 메모리. 기본 1GB.
--driver-cores NUM 드라이버가 사용하는 코어 수.
--total-executor-cores NUM 모든 실행기의 총 코어 수.
--executor-cores NUM 각 실행기가 사용하는 코어 수.
--num-executors NUM 실행할 실행기 수.
-hivevar <key=value> Hive 명령에 적용할 변수 대체(예: -hivevar A=B)
-hiveconf <property=value> 지정된 속성에 사용할 값.

Spark SQL 작업의 경우 다음 예제와 같이 start-job-run-request.json 파일을 생성하고 작업 실행에 필요한 파라미터를 지정합니다.

{ "name": "myjob", "virtualClusterId": "123456", "executionRoleArn": "iam_role_name_for_job_execution", "releaseLabel": "emr-6.7.0-latest", "jobDriver": { "sparkSqlJobDriver": { "entryPoint": "entryPoint_location", "sparkSqlParameters": "--conf spark.executor.instances=2 --conf spark.executor.memory=2G --conf spark.executor.cores=2 --conf spark.driver.cores=1" } }, "configurationOverrides": { "applicationConfiguration": [ { "classification": "spark-defaults", "properties": { "spark.driver.memory":"2G" } } ], "monitoringConfiguration": { "persistentAppUI": "ENABLED", "cloudWatchMonitoringConfiguration": { "logGroupName": "my_log_group", "logStreamNamePrefix": "log_stream_prefix" }, "s3MonitoringConfiguration": { "logUri": "s3://my_s3_log_location" } } } }