AWS CLI를 사용하여 작업 실행 관리 - Amazon EMR

AWS CLI를 사용하여 작업 실행 관리

이 페이지에서는 AWS Command Line Interface(AWS CLI)를 사용하여 작업 실행을 관리하는 방법을 다룹니다. 보안 파라미터, 드라이버 및 다양한 재정의 설정과 같은 속성을 자세히 설명합니다. 로깅을 구성하는 다양한 방법을 다루는 하위 주제도 포함되어 있습니다.

작업 실행 구성 옵션

다음 옵션을 사용하여 작업 실행 파라미터를 구성합니다.

  • --execution-role-arn: 작업 실행에 사용되는 IAM 역할을 제공해야 합니다. 자세한 내용은 Amazon EMR on EKS에서 작업 실행 역할 사용 단원을 참조하십시오.

  • --release-label: Amazon EMR 버전 5.32.0 및 6.2.0 이상을 사용하여 Amazon EMR on EKS를 배포할 수 있습니다. Amazon EMR on EKS는 이전 Amazon EMR 릴리스 버전에서 지원되지 않습니다. 자세한 내용은 Amazon EMR on EKS 릴리스 단원을 참조하십시오.

  • --job-driver: 작업 드라이버는 기본 작업에 대한 입력을 제공하는 데 사용됩니다. 실행하려는 작업 유형에 대한 값 중 하나만 전달할 수 있는 집합 유형 필드입니다. 다음은 지원되는 유형입니다.

    • Spark 제출 작업 - Spark 제출을 통해 명령을 실행하는 데 사용됩니다. 이 작업 유형을 사용하여 Spark 제출을 통해 Scala, PySpark, SparkKr, SparkSQL 및 기타 지원되는 작업을 실행할 수 있습니다. 이 작업 유형에는 다음과 같은 파라미터가 있습니다.

      • Entrypoint - 실행하려는 기본 jar/py 파일에 대한 Hadoop 호환 파일 시스템(HCFS) 참조입니다.

      • EntryPointArguments - 기본 jar/py 파일에 전달하려는 인수의 배열입니다. entrypoint 코드를 사용하여 이러한 파라미터를 읽는 작업을 처리해야 합니다. 배열의 각 인수는 쉼표로 분리해야 합니다. EntryPointArguments 인수에는 (), {} 또는 []와 같은 괄호를 포함할 수 없습니다.

      • SparkSubmitParameters - 작업에 전송하려는 추가 Spark 파라미터입니다. 이 파라미터를 사용하여 드라이버 메모리 및 실행기 수와 같은 기본 Spark 속성(예: -conf 또는 -class)을 재정의합니다. 자세한 내용은 Launching Applications with spark-submit을 참조하세요.

    • Spark SQL 작업 - Spark SQL을 통해 SQL 쿼리 파일을 실행하는 데 사용됩니다. 이 작업 유형을 사용하여 SparkSQL 작업을 실행할 수 있습니다. 이 작업 유형에는 다음과 같은 파라미터가 있습니다.

  • --configuration-overrides: 애플리케이션에 대한 구성 객체를 제공하여 애플리케이션의 기본 구성을 재정의할 수 있습니다. 간편 구문을 사용하여 구성을 제공하거나 JSON 파일의 구성 객체를 참조할 수 있습니다. 구성 객체는 분류, 속성 및 선택적 중첩 구성으로 이루어져 있습니다. 속성은 해당 파일에서 재정의하려는 설정으로 구성됩니다. 단일 JSON 객체에서 여러 애플리케이션에 대해 다양한 분류를 지정할 수 있습니다. 사용 가능한 구성 분류는 Amazon EMR 릴리스 버전에 따라 달라집니다. Amazon EMR의 각 릴리스 버전에 사용할 수 있는 구성 분류 목록은 Amazon EMR on EKS 릴리스 섹션을 참조하세요.

    애플리케이션 재정의 및 Spark 제출 파라미터에서 동일한 구성을 전달하는 경우 Spark 제출 파라미터가 우선합니다. 전체 구성 우선순위 목록은 가장 높은 우선순위부터 가장 낮은 우선순위 순으로 나열됩니다.

    • SparkSession 생성 시 제공되는 구성.

    • —conf를 사용하는 sparkSubmitParameters의 일부로 제공되는 구성.

    • 애플리케이션 재정의의 일부로 제공되는 구성.

    • 해당 릴리스에서 Amazon EMR이 선택하는 최적화된 구성.

    • 애플리케이션의 기본 오픈 소스 구성.

    Amazon CloudWatch 또는 Amazon S3를 사용하여 작업 실행을 모니터링하려면 CloudWatch에 대한 구성 세부 정보를 제공해야 합니다. 자세한 내용은 Amazon S3 로그를 사용하도록 작업 실행 구성Amazon CloudWatch Logs를 사용하도록 작업 실행 구성 단원을 참조하세요. S3 버킷 또는 CloudWatch 로그 그룹이 없는 경우 Amazon EMR은 로그를 버킷에 업로드하기 전에 그룹을 생성합니다.

  • Kubernetes 구성 옵션의 추가 목록은 Spark Properties on Kubernetes를 참조하세요.

    다음 Spark 구성은 지원되지 않습니다.

    • spark.kubernetes.authenticate.driver.serviceAccountName

    • spark.kubernetes.authenticate.executor.serviceAccountName

    • spark.kubernetes.namespace

    • spark.kubernetes.driver.pod.name

    • spark.kubernetes.container.image.pullPolicy

    • spark.kubernetes.container.image

      참고

      사용자 지정 도커 이미지에 spark.kubernetes.container.image를 사용할 수 있습니다. 자세한 내용은 Amazon EMR on EKS에 대한 도커 이미지 사용자 지정 단원을 참조하십시오.

작업 실행 나열

다음 예제에서 볼 수 있듯이 list-job-run을 실행하여 작업 실행 상태를 표시할 수 있습니다.

aws emr-containers list-job-runs --virtual-cluster-id <cluster-id>

작업 실행 설명

다음 예제에서 볼 수 있듯이 describe-job-run을 실행하여 작업 상태, 상태 세부 정보, 작업 이름 등 작업에 대한 추가 세부 정보를 가져올 수 있습니다.

aws emr-containers describe-job-run --virtual-cluster-id cluster-id --id job-run-id

작업 실행 취소

다음 예제에서 볼 수 있듯이 cancel-job-run을 실행하여 실행 중인 작업을 취소할 수 있습니다.

aws emr-containers cancel-job-run --virtual-cluster-id cluster-id --id job-run-id