AWS Glue에서 Spark 작업에 대한 작업 속성 구성 - AWS 글루

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

AWS Glue에서 Spark 작업에 대한 작업 속성 구성

작업을 AWS Glue 콘솔에서 정의할 경우 AWS Glue 런타임 환경을 제어하기 위한 속성 값을 제공합니다.

Spark 작업에 대한 작업 속성 정의

다음 목록에서는 Spark 작업의 속성을 설명합니다. Python 셸 작업의 속성은 Python 셸 작업에 대한 작업 속성 정의 단원을 참조하십시오. 스트리밍 ETL 작업의 속성은 스트리밍 ETL 작업에 대한 작업 속성 정의 단원을 참조하십시오.

속성은 AWS Glue 콘솔의 [작업 추가(Add job)] 마법사에 나타나는 순서대로 나열됩니다.

명칭

최대 255자 길이의 UTF-8 문자열을 제공합니다.

설명

최대 2048자의 설명을 입력합니다(선택 사항).

IAM 역할

작업을 실행하고 데이터 스토어에 액세스하는 데 사용되는 리소스에 대한 권한 부여용 IAM 역할을 지정합니다. AWS Glue 작업을 실행하는 권한에 대한 자세한 내용은 에 대한 ID 및 액세스 관리 AWS 글루 단원을 참조하십시오.

유형

ETL 작업의 유형입니다. 이는 선택한 데이터 소스 유형에 따라 자동으로 설정됩니다.

AWS Glue 버전

AWS Glue 버전이 다음 표에 지정된 대로 작업에 사용할 수 있는 Apache Spark 및 Python의 버전을 결정합니다.

AWS Glue 버전 지원되는 Spark 및 Python 버전
4.0
  • Spark 3.3.0

  • Python 3.10

3.0
  • Spark 3.1.1

  • Python 3.7

2.0
  • Spark 2.4.3

  • Python 3.7

1.0
  • Spark 2.4.3

  • Python 2.7

  • Python 3.6

0.9
  • Spark 2.2.1

  • Python 2.7

언어

ETL 스크립트의 코드는 작업 논리를 정의합니다. 이 스크립트는 Python 또는 Scala에 코딩될 수 있습니다. 작업이 실행하는 스크립트가 AWS Glue가 생성했는지 여러분이 제공했는지 선택할 수 있습니다. Amazon Simple Storage Service(Amazon S3)에서 스크립트 이름과 위치를 제공합니다. 경로의 스크립트 디렉터리와 동일한 이름의 파일이 없다는 것을 확인합니다. 스크립트 작성에 대한 자세한 내용은 AWS Glue 프로그래밍 안내서 단원을 참조하십시오.

작업자 유형

다음 작업자 유형을 사용할 수 있습니다.

AWS Glue 작업자에서 사용할 수 있는 리소스는 DPU 단위로 측정됩니다. DPU는 4 vCPU의 컴퓨팅 파워와 16GB 메모리로 구성된 프로세싱 파워의 상대적 측정값입니다.

  • G.1X – 이 유형을 선택할 경우 Number of workers(작업자 수) 값도 제공합니다. 각 작업자는 84GB 디스크(약 34GB의 여유 공간)에서 1개의 DPU(vCPU 4개, 메모리 16GB)에 매핑됩니다. 대부분의 작업을 실행할 수 있는 확장 가능하고 비용 효율적인 방법을 제공하기 위해 데이터 변환, 조인, 쿼리와 같은 워크로드에서 이 작업자 유형을 사용하는 것이 좋습니다.

  • G.2X – 이 유형을 선택할 경우 Number of workers(작업자 수) 값도 제공합니다. 각 작업자는 128GB 디스크(약 77GB의 여유 공간)에서 2개의 DPU(vCPU 8개, 메모리 32GB)에 매핑됩니다. 대부분의 작업을 실행할 수 있는 확장 가능하고 비용 효율적인 방법을 제공하기 위해 데이터 변환, 조인, 쿼리와 같은 워크로드에서 이 작업자 유형을 사용하는 것이 좋습니다.

  • G.4X – 이 유형을 선택할 경우 Number of workers(작업자 수) 값도 제공합니다. 각 작업자는 256GB 디스크(약 235GB의 여유 공간)에서 4개의 DPU(vCPU 16개, 메모리 64GB)에 매핑됩니다. 워크로드에 가장 까다로운 변환, 집계, 조인 및 쿼리가 포함된 작업에서 이 작업자 유형을 사용하는 것이 좋습니다. 이 작업자 유형은 미국 동부(오하이오), 미국 동부(버지니아 북부), 미국 서부(오레곤), 아시아 태평양(싱가포르), 아시아 태평양(시드니), 아시아 태평양(도쿄), 캐나다(중부), 유럽(프랑크푸르트), 유럽(아일랜드), 유럽(스톡홀름)과 같은AWS 리전에서 AWS Glue 버전 3.0 이상 Spark ETL 작업에 대해서만 사용할 수 있습니다.

  • G.8X – 이 유형을 선택할 경우 Number of workers(작업자 수) 값도 제공합니다. 각 작업자는 512GB 디스크(약 487GB의 여유 공간)에서 8개의 DPU(vCPU 32개, 메모리 128GB)에 매핑됩니다. 워크로드에 가장 까다로운 변환, 집계, 조인 및 쿼리가 포함된 작업에서 이 작업자 유형을 사용하는 것이 좋습니다. 이 작업자 유형은 G.4X 작업자 유형에 지원되는 동일한 AWS 리전에서 AWS Glue 버전 3.0 이상 Spark ETL 작업에 대해서만 사용할 수 있습니다.

  • G.025X – 이 유형을 선택할 경우 Number of workers(작업자 수) 값도 제공합니다. 각 작업자는 84GB 디스크(약 34GB의 여유 공간)에서 0.25개의 DPU(vCPU 2개, 메모리 4GB)에 매핑됩니다. 볼륨이 낮은 스트리밍 작업에 이 작업자 유형을 사용하는 것이 좋습니다. 이 작업자 유형은 AWS Glue 버전 3.0 스트리밍 작업에만 사용할 수 있습니다.

ETL 작업을 실행하는 데 사용된 DPU의 개수에 따라 시간당 비용이 부과됩니다. 자세한 내용은 AWS Glue 요금 페이지를 참조하십시오.

AWS Glue 버전 1.0 이전 작업의 경우 콘솔을 사용하여 작업을 구성하고 [작업자 유형(Worker type)]을 [표준(Standard)]로 지정하면, [최대 용량(Maximum capacity)]이 설정되고 [작업자 수(Number of workers)]는 [최대 용량(Maximum capacity)] - 1이 됩니다. AWS Command Line Interface(AWS CLI) 또는 AWS SDK를 사용하는 경우, [최대 용량(Max capacity)] 파라미터를 지정하거나, [작업자 유형(Worker type)]과 [작업자 수(Number of workers)]를 모두 지정할 수 있습니다.

AWS Glue 버전 2.0 이상 작업의 경우 최대 용량을 지정할 수 없습니다. 대신 [작업자 유형(Worker type)] 및 [작업자 수(Number of workers)]를 지정해야 합니다.

요청된 작업자 수

대부분의 작업자 유형에서 작업이 실행될 때 할당되는 작업자 수를 지정해야 합니다.

작업 북마크

작업 실행 시 AWS Glue가 상태 정보를 진행하는 방법을 지정합니다. 이전에 처리된 데이터를 기억하거나, 상태 정보를 업데이트하거나, 상태 정보를 무시할 수 있습니다. 자세한 내용은 처리된 데이터를 작업 북마크로 추적 단원을 참조하십시오.

작업 실행 대기열

서비스 할당량 때문에 즉시 실행할 수 없는 경우 나중에 실행하기 위해 작업 실행을 대기열에 넣을지 여부를 지정합니다.

선택하면 해당 작업 실행에 대해 작업 실행 대기열이 활성화됩니다. 채워지지 않은 경우 작업 실행은 대기열에 포함되는 것으로 간주되지 않습니다.

이 설정이 작업 실행에 설정된 값과 일치하지 않으면 작업 실행 필드의 값이 사용됩니다.

유연한 실행

AWS Studio 또는 API를 사용하여 작업을 구성하면 표준 또는 유연한 작업 실행 클래스를 지정할 수 있습니다. 작업의 우선순위와 시간 민감도는 다를 수 있습니다. 표준 실행 클래스는 빠른 작업 시작 및 전용 리소스가 필요한 시간에 민감한 워크로드에 적합합니다.

유연한 실행 클래스는 사전 프로덕션 작업, 테스트 및 일회성 데이터 로드와 같은 긴급하지 않은 작업에 적합합니다. 유연한 작업 실행은 AWS Glue 버전 3.0 이상 및 G.1X 또는 G.2X 작업자 유형을 사용하는 작업에 지원됩니다.

유연한 작업 실행은 한 번에 실행하는 작업자 수를 기준으로 요금이 청구됩니다. 유연한 작업 실행에 대한 작업자 수를 추가하거나 제거할 수 있습니다. Max Capacity*Execution Time의 간단한 계산으로 청구하는 대신 각 작업자는 작업 실행 중에 실행된 시간으로 요금이 청구됩니다. 청구 금액은 (Number of DPUs per worker*time each worker ran)의 합입니다.

자세한 내용은 AWS Studio 또는 작업작업 실행의 도움말 패널을 참조하십시오.

재시도 횟수

AWS Glue가 자동적으로 작업을 재시작하지 못하면 재시작하도록 시간 수를 0~10사이에서 지정합니다. 시간 제한에 도달한 작업은 다시 시작되지 않습니다.

작업 제한 시간

최대 실행 제한을 분으로 설정합니다. 배치 작업의 경우 기본값은 2,880분(48시간)입니다. 작업 실행 시간이 이 제한을 초과하면 작업 실행 상태가 TIMEOUT으로 변경됩니다.

스트리밍 작업의 시간 제한 값은 7일 또는 10,080분 미만이어야 합니다. 값을 비워 두면 유지 관리 기간을 설정하지 않았다고 가정하고 7일 후에 작업이 다시 시작됩니다. 유지 관리 기간을 설정한 경우 7일 후 유지 관리 기간 중에 작업이 다시 시작됩니다.

작업 시간 초과에 대한 모범 사례

작업은 실행 시간을 기준으로 요금이 청구됩니다. 예상치 못한 요금이 부과되지 않도록 하려면 작업의 예상 실행 시간에 적합한 제한 시간 값을 구성하세요.

고급 속성
스크립트 파일 이름

작업의 고유한 스크립트 이름입니다. Untitled job으로 지정할 수 없습니다.

스크립트 경로

스크립트의 Amazon S3 위치입니다. 경로는 s3://bucket/prefix/path/ 형식이어야 합니다. 슬래시(/)로 끝나야 하며 파일을 포함하지 않아야 합니다.

작업 지표

이 작업이 실행될 때 Amazon CloudWatch 지표 생성을 설정하거나 해제합니다. 프로파일링 데이터를 보려면 이 옵션을 활성화해야 합니다. 지표를 설정하고 시각화하는 방법에 대한 자세한 내용은 작업 모니터링 및 디버깅 섹션을 참조하세요.

작업 관찰성 지표

이 작업이 실행될 때 추가 통합 가시성 CloudWatch 지표 생성을 사용하도록 설정합니다. 자세한 내용은 AWS Glue 관찰성 메트릭을 사용한 모니터링 단원을 참조하십시오.

연속 로깅

Amazon CloudWatch에 대한 연속 로깅을 설정합니다. 이 옵션이 활성화되지 않으면 작업이 완료된 후에만 로그를 사용할 수 있습니다. 자세한 내용은 AWS Glue 작업에 대한 지속 로깅 단원을 참조하십시오.

Spark UI

이 작업 모니터링에 Spark UI 사용을 설정합니다. 자세한 내용은 AWS Glue 작업을 위한 Apache Spark 웹 UI 사용 설정 단원을 참조하십시오.

Spark UI 로그 경로

Spark UI를 사용하도록 설정한 경우 로그를 작성할 경로입니다.

Spark UI 로깅 및 모니터링 구성

다음 옵션 중 하나를 선택하세요:

  • 표준: AWS Glue 작업 실행 ID를 파일 이름으로 사용하여 로그를 작성합니다. AWS Glue 콘솔에서 Spark UI 모니터링을 켜세요.

  • 레거시: 'spark-application-{timestamp}'를 파일 이름으로 사용하여 로그를 작성합니다. Spark UI 모니터링을 켜지 마세요.

  • 표준 및 레거시: 표준 위치와 레거시 위치 모두에 로그를 작성합니다. AWS Glue 콘솔에서 Spark UI 모니터링을 켜세요.

최대 동시성

이 작업에 허용된 최대 동시 실행 수를 설정합니다. 기본 값은 1입니다. 이 임곗값에 도달하면 오류가 반환됩니다. 지정할 수 있는 최대값은 서비스 제한에 따라 통제됩니다. 예를 들어, 새로운 인스턴스가 시작된 후에도 이전 작업이 여전히 실행되고 있다면 오류를 반환하여 동일한 작업의 두 개의 인스턴스를 동시에 실행하지 않도록 방지합니다.

임시 경로

AWS Glue가 스크립트를 실행할 때 임시 중간 결과가 작성된 Amazon S3의 작업 디렉터리의 위치를 제공합니다. 경로의 임시 디렉터리와 동일한 이름의 파일이 없다는 것을 확인합니다. 이 디렉터리는 AWS Glue가 Amazon Redshift에 읽고 쓸 때 및 일부 AWS Glue 변환에 사용됩니다.

참고

리전에 버킷이 아직 없는 경우 AWS Glue에서 작업에 대한 임시 버킷을 생성합니다. 이 버킷은 퍼블릭 액세스를 허용할 수 있습니다. Amazon S3에서 버킷을 수정하여 퍼블릭 액세스 차단을 설정하거나 나중에 해당 리전의 모든 작업이 완료된 후 버킷을 삭제할 수 있습니다.

지연 알림 임계값(분)

지연 알림이 전송되기 전까지의 임계값(분)을 설정합니다. RUNNING, STARTING 또는 STOPPING 작업 실행이 예상 시간(분)을 초과할 때 알림을 전송하도록 이 임계값을 설정할 수 있습니다.

보안 구성

목록에서 보안 구성을 선택합니다. 보안 구성은 암호화 없음, AWS KMS 관리형 키(SSE-KMS)를 사용한 서버 측 암호화, Amazon S3 관리형 암호화 키(SSE-S3) 등 Amazon S3 대상의 데이터 암호화 방법을 지정합니다.

서버 측 암호화

이 옵션을 선택할 경우, ETL 작업을 Amazon S3에 작성하면 SSE-S3 암호화를 사용하여 데이터는 암호화합니다. Amazon S3 임시 디렉터리에 쓴 모든 데이터와 Amazon S3 데이터 대상 모두 암호화됩니다. 이 옵션은 작업 파라미터로 전달됩니다. 자세한 내용은 Amazon Simple Storage Service 사용 설명서Amazon S3 관리형 암호화 키(SSE-S3)로 서버 측 암호화를 사용하여 데이터 보호를 참조하세요.

중요

보안 구성이 지정된 경우 이 옵션은 무시됩니다.

Glue 데이터 카탈로그를 Hive 메타스토어로 사용

이를 선택하여 AWS Glue 데이터 카탈로그를 Hive 메타스토어로 사용합니다. 작업에 사용되는 IAM 역할에는 glue:CreateDatabase 권한이 있어야 합니다. "기본값"이라는 데이터베이스가 없는 경우에 데이터 카탈로그에서 생성됩니다.

연결

Virtual Private Cloud(VPC)에 있는 Amazon S3 데이터 소스에 액세스하려면 VPC 구성을 선택합니다. AWS Glue에서 네트워크 연결을 생성하고 관리할 수 있습니다. 자세한 내용은 데이터에 연결 단원을 참조하십시오.

Libraries
Python 라이브러리 경로, 종속 JAR 경로 및 참조된 파일 경로

스크립트에 필요한 경우 이러한 옵션을 지정합니다. 작업을 정의할 때 이러한 옵션에 대해 쉼표로 구분된 Amazon S3 경로를 정의할 수 있습니다. 작업을 실행할 때 이 경로를 무시할 수 있습니다. 자세한 내용은 사용자 지정 스크립트 제공 단원을 참조하십시오.

작업 파라미터

이름이 지정된 파라미터로 스크립트에 전달되는 키-값 쌍의 집합입니다. 이러한 값은 스크립트가 실행될 때 사용되는 기본값이지만 트리거에서 또는 작업을 실행할 때 재정의할 수 있습니다. 키 이름 앞에 --를 붙여야 합니다(예: --myKey). AWS Command Line Interface를 사용할 때 맵으로 작업 파라미터를 전달합니다 .

예를 들어 AWS Glue에서 Python 파라미터 전달 및 액세스의 Python 파라미터를 참조하십시오.

Tags

태그 키와 선택 사항인 태그 값으로 작업에 태그를 지정합니다. 생성된 태그 키는 읽기 전용입니다. 일부 리소스에서 태그를 이용하면 리소스를 정리하고 식별하는 데 도움이 됩니다. 자세한 내용은 AWS Glue의 AWS 태그 단원을 참조하십시오.

Lake Formation 관리형 테이블에 액세스하는 작업에 대한 제한 사항

AWS Lake Formation에서 관리되는 테이블에서 읽거나 쓰는 작업을 생성하는 경우 다음 참고 사항과 제한 사항에 유의하세요.