작업 실행 - AWS Glue

작업 실행

작업 실행 API는 AWS Glue에서의 작업 실행 시작, 중지 또는 확인과 작업 북마크 재설정과 관련된 API 및 데이터 유형에 대해 설명합니다.

데이터 유형

JobRun 구조

작업 실행에 관한 정보를 포함합니다.

필드
  • IdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    이 작업 실행의 ID.

  • Attempt - 숫자(정수)입니다.

    이 작업을 실행하고자 시도했던 수입니다.

  • PreviousRunIdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    이 작업의 이전 실행 ID입니다. 예를 들어 StartJobRun 작업에 지정된 JobRunId입니다.

  • TriggerNameSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    이 작업을 시작한 트리거의 이름입니다.

  • JobNameSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    이 작업에 사용된 작업 정의 이름입니다.

  • StartedOn – 타임스탬프입니다.

    이 작업이 시작된 날짜 및 시간.

  • LastModifiedOn – 타임스탬프입니다.

    이 작업 실행이 수정된 마지막 시간입니다.

  • CompletedOn – 타임스탬프입니다.

    이 작업 실행이 완료된 날짜 및 시간입니다.

  • JobRunState – UTF-8 문자열입니다(유효한 값: STARTING | RUNNING | STOPPING | STOPPED | SUCCEEDED | FAILED | TIMEOUT | ERROR | WAITING).

    작업 실행의 현재 상태입니다. 비정상적으로 종료된 작업의 상태에 대한 자세한 내용은 AWS Glue 작업 실행 상태를 참조하세요.

  • Arguments – 키-값 페어의 맵 배열입니다.

    각 키는 UTF-8 문자열입니다.

    각 값은 UTF-8 문자열입니다.

    작업과 연결되어 있는 작업 인수입니다. 이 작업 실행에서 작업 정의 자체에 설정된 기본 인수를 바꿉니다.

    AWS Glue 자체가 사용하는 인수는 물론 사용자의 작업 실행 스크립트가 사용하는 인수를 지정할 수 있습니다.

    자체 작업 인수를 지정하고 사용하는 방법에 대한 자세한 내용은 개발자 가이드의 Python에서 AWS Glue API 호출을 참조하세요.

    AWS Glue가 작업을 설정하는 데 사용하는 키 값 페어에 대한 자세한 내용은 개발자 가이드의 AWS Glue가 사용하는 특정 파라미터를 참조하세요.

  • ErrorMessage – UTF-8 문자열입니다.

    이 작업의 실행과 연결된 오류 메시지입니다.

  • PredecessorRuns이전 기록 객체의 배열입니다.

    이 작업을 실행하기 이전의 기록입니다.

  • AllocatedCapacity - 숫자(정수)입니다.

    이 필드는 더 이상 사용되지 않습니다. 대신 MaxCapacity 사용.

    이 JobRun에 할당된 AWS Glue 데이터 처리 장치(DPU) 수입니다. 2~100DPU가 할당될 수 있습니다. 기본값은 10입니다. DPU는 4 vCPU의 컴퓨팅 파워와 16GB 메모리로 구성된 프로세싱 파워의 상대적 측정값입니다. 자세한 내용은 AWS Glue 요금 페이지를 참조하십시오.

  • ExecutionTime - 숫자(정수)입니다.

    이 작업이 리소스를 소비한 시간(초).

  • Timeout – 1 이상의 숫자(정수)입니다.

    JobRun 제한 시간(분)입니다. 작업을 실행하여 리소스를 소비하여 중지되기 전에 TIMEOUT 상태로 들어가는 최대 시간입니다. 이 값은 상위 작업에 설정된 제한 시간 값을 재정의합니다.

    스트리밍 작업에는 제한 시간이 없습니다. 비스트리밍 작업의 기본값은 2,880분(48시간) 입니다.

  • MaxCapacity - 숫자(double)입니다.

    이 작업이 실행될 때 할당할 수 있는 AWS Glue 데이터 처리 장치(DPU) 수입니다. DPU는 4 vCPU의 컴퓨팅 파워와 16GB 메모리로 구성된 프로세싱 파워의 상대적 측정값입니다. 자세한 내용은 AWS Glue 요금 페이지를 참조하십시오.

    WorkerTypeNumberOfWorkers를 사용하는 경우, Max Capacity를 설정하지 마십시오.

    MaxCapacity에 할당할 수 있는 값은 Python 셸 작업을 실행하는지 또는 Apache Spark ETL 작업을 실행하는지에 따라 다릅니다.

    • Python 셸 작업(JobCommand.Name="pythonshell")을 지정하면 0.0625 또는 1 DPU를 할당할 수 있습니다. 기본값은 0.0625 DPU입니다.

    • Apache Spark ETL 작업(JobCommand.Name="glueetl")을 지정하면 최소 2DPU를 할당할 수 있습니다. 기본값은 10 DPU입니다. 이 작업 유형에는 부분적인 DPU 할당을 사용할 수 없습니다.

  • WorkerType – UTF-8 문자열입니다(유효한 값: Standard="" | G.1X="" | G.2X="" | G.025X="").

    작업이 실행될 때 할당되는 미리 정의된 작업자 유형입니다. 표준(Standard), G.1X, G.2X 또는 G.025X 값을 허용합니다.

    • Standard 작업자 유형의 경우, 각 작업자가 4vCPU, 16GB 메모리 및 50GB 디스크와, 작업자당 실행기 2개를 제공합니다.

    • G.1X 작업자 유형의 경우, 각 작업자가 4vCPU, 16GB 메모리 및 64GB 디스크와, 작업자당 실행기 1개를 제공합니다.

    • G.2X 작업자 유형의 경우, 각 작업자가 8vCPU, 32GB 메모리 및 128GB 디스크와, 작업자당 실행기 1개를 제공합니다.

    • G.025X 작업자 유형의 경우, 각 작업자가 0.25 DPU(vCPU 2개, 4GB 메모리, 64GB 디스크)에 매핑되고, 작업자당 실행기 1개를 제공합니다. 볼륨이 낮은 스트리밍 작업에 이 작업자 유형을 사용하는 것이 좋습니다. 이 작업자 유형은 AWS Glue 버전 3.0 스트리밍 작업에만 사용할 수 있습니다.

  • NumberOfWorkers - 숫자(정수)입니다.

    작업이 실행될 때 할당되는 정의된 workerType의 작업자 수입니다.

  • SecurityConfigurationSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    이 작업 실행에 사용할 SecurityConfiguration 구조의 이름입니다.

  • LogGroupName – UTF-8 문자열입니다.

    AWS KMS를 사용하여 Amazon CloudWatch에서 서버 측 암호화가 가능한 보안 로깅용 로그 그룹의 이름입니다. 이 이름은 /aws-glue/jobs/일 수 있으며, 그 기본 암호화는 NONE입니다. 역할 이름과 SecurityConfiguration 이름(즉, /aws-glue/jobs-yourRoleName-yourSecurityConfigurationName/)을 추가하면 로그 그룹 암호화에 이 보안 구성이 사용됩니다.

  • NotificationPropertyNotificationProperty 객체입니다.

    작업 실행 알림의 구성 속성을 지정합니다.

  • GlueVersionCustom string pattern #15과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    Glue 버전에 따라AWS Glue에서 지원하는 Apache Spark와 Python의 버전이 정해집니다. Python의 버전으로 Spark 유형의 작업에 대해 지원되는 버전을 확인할 수 있습니다.

    이용 가능한 AWS Glue 버전과 그에 상응하는 Spark 및 Python 버전에 대한 자세한 내용은 개발자 안내서의 Glue 버전을 참조하세요.

    Glue 버전 지정 없이 생성된 작업은 Glue 0.9로 기본 지정됩니다.

  • DPUSeconds - 숫자(double)입니다.

    이 필드는 Auto Scaling 작업 실행에 대해서만 채워지며, 작업 실행 수명 주기 동안 각 실행기가 실행된 총 시간(초)에 DPU 계수(G.1X: 1, G.2X: 2, G.025X 작업자: 0.25)를 곱한 값을 나타냅니다. 이 값은 Auto Scaling 작업의 경우처럼 executionEngineRuntime * MaxCapacity와 다를 수 있습니다. 지정된 시간에 실행 중인 실행기 수가 MaxCapacity보다 작을 수 있기 때문입니다. 따라서, DPUSeconds 값이 executionEngineRuntime * MaxCapacity보다 작을 수 있습니다.

  • ExecutionClass - 16바이트 미만의 UTF-8 문자열입니다(유효한 값: FLEX="" | STANDARD="").

    작업이 표준 또는 유연한 실행 클래스로 실행되는지 여부를 나타냅니다. 표준 실행 클래스는 빠른 작업 시작 및 전용 리소스가 필요한 시간에 민감한 워크로드에 적합합니다.

    유연한 실행 클래스는 시작 및 완료 시간이 다를 수 있는 시간에 민감하지 않은 작업에 적합합니다.

    AWS Glue 버전 3.0 이상 및 명령 유형 glueetl을 사용하는 작업만 ExecutionClassFLEX로 설정됩니다. 유연한 실행 클래스는 Spark 작업에 사용할 수 있습니다.

이전 구조

이 작업을 실행할 수 있도록 조건적 트리거를 조건으로 한 작업입니다.

필드
  • JobNameSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    이 이전 작업에 사용된 작업 정의 이름입니다.

  • RunIdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    이 작업의 이전 작업 실행 ID입니다.

JobBookmarkEntry 구조

작업이 프로세싱을 다시 시작할 수 있는 포인트를 정의합니다.

필드
  • JobName – UTF-8 문자열입니다.

    문제의 작업 이름입니다.

  • Version - 숫자(정수)입니다.

    작업의 버전입니다.

  • Run - 숫자(정수)입니다.

    실행 ID 숫자입니다.

  • Attempt - 숫자(정수)입니다.

    시도 ID 숫자입니다.

  • PreviousRunId – UTF-8 문자열입니다.

    이전의 작업 실행과 연결된 고유의 실행 식별자입니다.

  • RunId – UTF-8 문자열입니다.

    실행 ID 숫자입니다.

  • JobBookmark – UTF-8 문자열입니다.

    그 자체를 즐겨찾습니다.

BatchStopJobRunSuccessfulSubmission 구조

지정된 JobRun을 중지한 성공적인 요청을 기록합니다.

필드
  • JobNameSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    이 작업이 중지된 작업 정의 이름입니다.

  • JobRunIdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    중지된 작업 실행의 JobRunId입니다.

BatchStopJobRunError 구조

지정된 작업을 중지하고자 할 때 발생하는 오류를 기록합니다.

필드
  • JobNameSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    문제의 작업 실행에 사용된 작업 정의 이름입니다.

  • JobRunIdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    문제의 작업 실행 JobRunId입니다.

  • ErrorDetailErrorDetail 객체입니다.

    발생한 오류에 대한 추가 세부 정보를 지정합니다.

작업

StartJobRun 작업(Python: start_job_run)

작업 정의를 사용한 작업 시작하기

요청
  • JobName필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    사용할 작업 정의의 이름입니다.

  • JobRunIdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    재시도할 이전 JobRun의 ID입니다.

  • Arguments – 키-값 페어의 맵 배열입니다.

    각 키는 UTF-8 문자열입니다.

    각 값은 UTF-8 문자열입니다.

    이 작업만을 위한 작업 인수입니다. 이 작업 실행에서 작업 정의 자체에 설정된 기본 인수를 바꿉니다.

    AWS Glue 자체가 사용하는 인수는 물론 사용자의 작업 실행 스크립트가 사용하는 인수를 지정할 수 있습니다.

    작업 인수가 로깅될 수 있습니다. 일반 텍스트 보안 암호를 인수로 전달하지 마세요. 보안 암호를 작업 내에 보관하려는 경우 AWS Glue 연결, AWS Secrets Manager 또는 다른 보안 암호 관리 메커니즘에서 검색합니다.

    자체 작업 인수를 지정하고 사용하는 방법에 대한 자세한 내용은 개발자 가이드의 Python에서 AWS Glue Glue API 호출을 참조하세요.

    AWS Glue가 작업을 설정하는 데 사용하는 키 값 페어에 대한 자세한 내용은 개발자 가이드의 AWS Glue가 사용하는 특정 파라미터를 참조하세요.

  • AllocatedCapacity - 숫자(정수)입니다.

    이 필드는 더 이상 사용되지 않습니다. 대신 MaxCapacity 사용.

    이 JobRun에 할당할 AWS Glue 데이터 처리 장치(DPU) 수입니다. 최소 2DPU를 할당할 수 있습니다. 기본값은 10입니다. DPU는 4 vCPU의 컴퓨팅 파워와 16GB 메모리로 구성된 프로세싱 파워의 상대적 측정값입니다. 자세한 내용은 AWS Glue 요금 페이지를 참조하십시오.

  • Timeout – 1 이상의 숫자(정수)입니다.

    JobRun 제한 시간(분)입니다. 작업을 실행하여 리소스를 소비하여 중지되기 전에 TIMEOUT 상태로 들어가는 최대 시간입니다. 이 값은 상위 작업에 설정된 제한 시간 값을 재정의합니다.

    스트리밍 작업에는 제한 시간이 없습니다. 비스트리밍 작업의 기본값은 2,880분(48시간) 입니다.

  • MaxCapacity - 숫자(double)입니다.

    이 작업이 실행될 때 할당할 수 있는 AWS Glue 데이터 처리 장치(DPU) 수입니다. DPU는 4 vCPU의 컴퓨팅 파워와 16GB 메모리로 구성된 프로세싱 파워의 상대적 측정값입니다. 자세한 내용은 AWS Glue 요금 페이지를 참조하십시오.

    WorkerTypeNumberOfWorkers를 사용하는 경우, Max Capacity를 설정하지 마십시오.

    MaxCapacity에 할당할 수 있는 값은 Python 셸 작업을 실행하는지 또는 Apache Spark ETL 작업을 실행하는지에 따라 다릅니다.

    • Python 셸 작업(JobCommand.Name="pythonshell")을 지정하면 0.0625 또는 1 DPU를 할당할 수 있습니다. 기본값은 0.0625 DPU입니다.

    • Apache Spark ETL 작업(JobCommand.Name="glueetl")을 지정하면 최소 2DPU를 할당할 수 있습니다. 기본값은 10 DPU입니다. 이 작업 유형에는 부분적인 DPU 할당을 사용할 수 없습니다.

  • SecurityConfigurationSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    이 작업 실행에 사용할 SecurityConfiguration 구조의 이름입니다.

  • NotificationPropertyNotificationProperty 객체입니다.

    작업 실행 알림의 구성 속성을 지정합니다.

  • WorkerType – UTF-8 문자열입니다(유효한 값: Standard="" | G.1X="" | G.2X="" | G.025X="").

    작업이 실행될 때 할당되는 미리 정의된 작업자 유형입니다. 표준(Standard), G.1X, G.2X 또는 G.025X 값을 허용합니다.

    • Standard 작업자 유형의 경우, 각 작업자가 4vCPU, 16GB 메모리 및 50GB 디스크와, 작업자당 실행기 2개를 제공합니다.

    • G.1X 작업자 유형의 경우, 각 작업자가 4vCPU, 16GB 메모리 및 64GB 디스크와, 작업자당 실행기 1개를 제공합니다.

    • G.2X 작업자 유형의 경우, 각 작업자가 8vCPU, 32GB 메모리 및 128GB 디스크와, 작업자당 실행기 1개를 제공합니다.

    • G.025X 작업자 유형의 경우, 각 작업자가 0.25 DPU(vCPU 2개, 4GB 메모리, 64GB 디스크)에 매핑되고, 작업자당 실행기 1개를 제공합니다. 볼륨이 낮은 스트리밍 작업에 이 작업자 유형을 사용하는 것이 좋습니다. 이 작업자 유형은 AWS Glue 버전 3.0 스트리밍 작업에만 사용할 수 있습니다.

  • NumberOfWorkers - 숫자(정수)입니다.

    작업이 실행될 때 할당되는 정의된 workerType의 작업자 수입니다.

  • ExecutionClass - 16바이트 미만의 UTF-8 문자열입니다(유효한 값: FLEX="" | STANDARD="").

    작업이 표준 또는 유연한 실행 클래스로 실행되는지 여부를 나타냅니다. 표준 실행 클래스는 빠른 작업 시작 및 전용 리소스가 필요한 시간에 민감한 워크로드에 적합합니다.

    유연한 실행 클래스는 시작 및 완료 시간이 다를 수 있는 시간에 민감하지 않은 작업에 적합합니다.

    AWS Glue 버전 3.0 이상 및 명령 유형 glueetl을 사용하는 작업만 ExecutionClassFLEX로 설정됩니다. 유연한 실행 클래스는 Spark 작업에 사용할 수 있습니다.

응답
  • JobRunIdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    이 작업 실행에 할당된 ID.

오류
  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • ResourceNumberLimitExceededException

  • ConcurrentRunsExceededException

BatchStopJobRun 작업(Python: batch_stop_job_run)

지정된 작업을 정의하기 위해서 하나 이상의 작업을 중지합니다.

요청
  • JobName필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    작업이 실행되지 않고 중지하기 위한 작업 정의 이름입니다.

  • JobRunIds필수(Required): 1~25개 문자열의 UTF-8 문자열의 배열입니다.

    이 작업을 정의하기 위해서 중지되어야 하는 JobRunIds의 목록입니다.

응답
  • SuccessfulSubmissionsBatchStopJobRunSuccessfulSubmission 객체의 배열입니다.

    중지할 목적으로 성공적으로 제출된 JobRun입니다.

  • ErrorsBatchStopJobRunError 객체의 배열입니다.

    JobRuns를 중지할 때 발생하는 오류 목록은 오류에 대한 상세 정보와 함께 각 오류가 발생한 JobRunId를 포함합니다.

오류
  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

GetJobRun 작업(Python: get_job_run)

작업 실행 시 메타데이터 가져오기

요청
  • JobName필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    실행 중인 작업 정의의 이름입니다.

  • RunId필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    이 작업 실행의 ID.

  • PredecessorsIncluded – 부울입니다.

    이전 작업 실행 목록이 반환되어야 하면 True입니다.

응답
  • JobRunJobRun 객체입니다.

    요청한 작업 실행 메타데이터.

오류
  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

GetJobRuns 작업(Python: get_job_runs)

주어진 작업 정의의 모든 실행 시 메타데이터 가져오기

요청
  • JobName필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    모든 작업을 실행하기 위한 작업 정의 이름입니다.

  • NextToken – UTF-8 문자열입니다.

    이것이 지속적으로 호출되면 지속적인 토큰입니다.

  • MaxResults – 1~1,000의 숫자(정수)입니다.

    응답의 최대 크기입니다.

응답
  • JobRunsJobRun 객체의 배열입니다.

    작업 실행 메타데이터 객체의 목록입니다.

  • NextToken – UTF-8 문자열입니다.

    요청된 모든 작업 실행이 반환하지 않은 경우의 지속 토큰입니다.

오류
  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

GetJobBookmark 작업(Python: get_job_bookmark)

작업 북마크 항목에 대한 정보를 반환합니다.

작업 북마크에 대한 자세한 내용을 알아보려면 다음을 참조하세요.

요청
  • JobName필수(Required): UTF-8 문자열입니다.

    문제의 작업 이름입니다.

  • Version - 숫자(정수)입니다.

    작업의 버전입니다.

  • RunId – UTF-8 문자열입니다.

    이 작업 실행과 연결된 고유의 실행 식별자입니다.

응답
  • JobBookmarkEntryJobBookmarkEntry 객체입니다.

    작업이 처리를 다시 시작할 수 있는 포인트를 정의하는 구조입니다.

오류
  • EntityNotFoundException

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • ValidationException

GetJobBookmarks 작업(Python: get_job_bookmarks)

작업 북마크 항목에 대한 정보를 반환합니다. 목록은 버전 번호가 감소되는 순서로 정렬됩니다.

작업 북마크에 대한 자세한 내용을 알아보려면 다음을 참조하세요.

요청
  • JobName필수(Required): UTF-8 문자열입니다.

    문제의 작업 이름입니다.

  • MaxResults - 숫자(정수)입니다.

    응답의 최대 크기입니다.

  • NextToken - 숫자(정수)입니다.

    이것이 지속적으로 호출되면 지속적인 토큰입니다.

응답
  • JobBookmarkEntriesJobBookmarkEntry 객체의 배열입니다.

    작업이 처리를 다시 시작할 수 있는 포인트를 정의하는 작업 북마크 항목의 목록입니다.

  • NextToken - 숫자(정수)입니다.

    모든 항목이 반환된 경우에는 1, 요청된 작업 실행 중 일부가 반환되지 않은 경우 1보다 큰 값이 있는 연속 토큰입니다.

오류
  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

ResetJobBookmark 작업(Python: reset_job_bookmark)

북마크 입력 재설정

작업 북마크에 대한 자세한 내용을 알아보려면 다음을 참조하세요.

요청
  • JobName필수(Required): UTF-8 문자열입니다.

    문제의 작업 이름입니다.

  • RunId – UTF-8 문자열입니다.

    이 작업 실행과 연결된 고유의 실행 식별자입니다.

응답
  • JobBookmarkEntryJobBookmarkEntry 객체입니다.

    북마크 입력 재설정

오류
  • EntityNotFoundException

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException