AWS Glue 콘솔 작업 관련 작업
AWS Glue 작업은 추출, 변환 및 로드(ETL) 작업을 수행하는 데 필요한 비즈니스 로직으로 구성됩니다. AWS Glue 콘솔의 [ETL] 섹션에서 작업을 생성할 수 있습니다.
기존 작업을 보려면 AWS Management Console에 로그인하고 https://console.aws.amazon.com/glue/
[Jobs(작업)] 목록에서 다음을 수행할 수 있습니다.
-
기존 작업을 시작하기 위해서 [Action(작업)]과 [Run job(작업 실행하기)]를 선택합니다.
-
Running
혹은Starting
작업을 중지하기 위해서 [Action(작업)]을 선택한 다음 [Stop job run(작업 실행 취소하기)]를 선택합니다. -
작업을 시작하기 위한 트리거를 추가하기 위해서 [Action(작업)]과 [Choose job triggers(작업 트리거 선택하기)]를 선택합니다.
-
기존 작업을 수정하기 위해서 [Action(작업)]과 [Edit job(작업 실행하기)] 혹은 [Delete(삭제하기)]를 선택합니다.
-
[Action(작업)]과 [Edit script(스크립트 편집하기)]를 선택하여 작업과 관련된 스크립트를 변경합니다.
-
작업을 저장하는 AWS Glue에 관한 상태 정보를 재설정하려면 작업과 작업 북마크 재설정을 선택합니다.
-
[Action(작업)]과 [Create development endpoint(개발 엔드포인트 생성하기)]를 선택하여 개발 엔드포인트를 생성합니다.
콘솔을 사용하여 새로운 작업을 추가합니다
-
AWS Glue 콘솔을 열고 작업 탭을 선택합니다.
-
[Add job(작업 추가하기)]를 선택하고 [Add job(작업 추가하기)]의 지시를 따릅니다.
AWS Glue가 작업용 스크립트를 생성하도록 결정하려면 작업 속성, 데이터 원본 및 데이터 대상을 지정하고 원본 열의 스키마 매핑을 확인하여 열을 목표로 합니다. 생성된 스크립트는 코드를 추가하여 ETL 작업을 실행할 시작점입니다. 코드에서 스크립트를 확인인하고 비즈니스 니즈에 맞게 수정합니다.
참고 콘솔의 [Add job(작업 추가하기)] 자습서를 통해 생성된 스크립트로 작업을 추가하기 위한 각 단계별 지시 사항을 알아보십시오.
선택적으로 작업에 보안 구성을 추가하여 저장 데이터 암호화 옵션을 지정할 수 있습니다.
스크립트를 제공하거나 작성하면 작업은 원본, 대상 및 변형을 정의합니다. 하지만 작업의 스크립트가 요구한 어떠한 연결도 지정해야 합니다. 스크립트 생성에 대한 자세한 내용은 사용자 지정 스크립트 제공 단원을 참조하십시오.
작업은 생성할 때 지정한 [IAM role(IAM 역할)]의 권한을 가정합니다. IAM 역할은 데이터 원본에서 데이터를 추출하여 대상에 작성할 수 있는 권한이 있어야 합니다. AWS Glue 콘솔은 AWS Glue 보안 주체 서비스를 위한 신뢰할 수 잇는 정책과 연관된 IAM 역할만 목록에 기록합니다. AWS Glue에 역할을 부여하는 것에 대한 자세한 내용은 자격 증명 기반 정책 단원을 참조하십시오.
이 작업이 AWS KMS로 암호화된 Amazon Simple Storage Service(Amazon S3) 데이터를 읽는 경우 [IAM 역할(IAM role)]이 KMS 키에 대한 권한을 복호화해야 합니다. 자세한 정보는 2단계: AWS Glue에 대한 IAM 역할 생성을 참조하십시오.
작업 실행 시 발생할 수 있는 알려진 문제를 AWS Glue 오류 해결를 통해 확인하십시오.
각 작업에 필요한 속성에 대해 자세히 알아보려면 Spark 작업에 대한 작업 속성 정의 항목을 참조하십시오.
AWS Glue 콘솔의 [작업 추가(Add job)] 튜토리얼을 통해 생성된 스크립트로 작업을 추가하기 위한 각 단계별 지시 사항을 알아보세요.
작업 세부 정보 보기
[Jobs(작업)] 목록에서 작업을 선택하고 다음 탭에서 정보를 검토하여 작업의 세부 정보를 확인합니다.
-
기록
-
세부 정보
-
Script
-
지표
기록
[History(기록)] 탭은 실행된 작업의 기록과 과거 작업의 성공 여부를 보여줍니다. 작업의 실행 지표는 다음을 포함합니다.
-
실행 ID는 각 작업의 실행에 따른 AWS Glue가 생성한 분류자입니다.
-
Retry attempt(재시도)는 자동적으로 재시도하기 위해 필요한 AWS Glue 작업의 시도 수를 보여줍니다.
-
[Run status(상태 실행하기)]는 맨 위의 최근 실행 상태와 성공적인 각 실행 상태를 보여줍니다. 작업이
Running
혹은Starting
이면 이 열의 작업 아이콘을 선택하여 작업을 중지할 수 있습니다. -
오류는 성공적이지 못한 실행의 결과로서 오류 메시지의 세부 정보를 보여줍니다.
-
Logs(로그)는 이 작업을 실행할 때
stdout
에 작성되는 로그와 연결됩니다.[로그(Logs)] 링크는 Amazon CloudWatch Logs로 이동하여 AWS Glue Data Catalog에 생성된 테이블 및 발생할 수 있는 오류에 대한 모든 세부 정보를 보여줍니다. CloudWatch 콘솔에서 로그 보존 기간을 관리할 수 있습니다. 기본 로그 보관은
Never Expire
. 보존 기간 변경 방법에 대한 자세한 내용은 Amazon CloudWatch Logs User Guide의 Change Log Data Retention in CloudWatch Logs를 참조하세요. -
Error Logs(오류 로그)는 이 작업을 실행할 때
stderr
에 작성되는 로그와 연결됩니다.이 링크는 CloudWatch Logs로 이동하여 발생할 수 있는 오류에 대한 세부 정보를 보여줍니다. CloudWatch 콘솔에서 로그 보존 기간을 관리할 수 있습니다. 기본 로그 보관은
Never Expire
. 보존 기간 변경 방법에 대한 자세한 내용은 Amazon CloudWatch Logs 사용 설명서의 CloudWatch Logs에서 로그 데이터 보존 기간 변경을 참조하세요. -
Execution times(실행 시간)는 작업을 실행하여 리소스를 소비하는 동안의 시간을 보여줍니다. 작업을 실행한 후 리소스를 소비하고 끝날 때까지의 시간으로 계산됩니다.
-
[Timeout(제한 시간)]은 작업을 실행하여 리소스를 소비하고 중단되기 전에 제한 시간 상태되기까지의 최대 실행 시간을 보여줍니다.
-
Delay(지연)는 작업 지연 알림을 전송하기 전의 임계값을 표시합니다. 작업 실행 시간이 이 임계값에 도달하면 AWS Glue가 CloudWatch Events로 알림("Glue 작업 실행 상태(Glue Job Run Status)")을 전송합니다.
-
[Triggered by]는 작업을 실행하기 위한 트리거를 보여줍니다.
-
[Start time(시작 시간)]은 작업이 시작되는 날짜와 시간(지역 시간)을 보여줍니다.
-
[End time(중지 시간)]은 작업이 중지되는 날짜와 시간(지역 시간)을 보여줍니다.
특정 작업 실행의 경우 View run metrics(실행 측정치 보기)를 사용할 수 있으며, 이 옵션은 선택한 작업 실행에 대한 측정치 그래프를 표시합니다. 지표를 설정하고 그래프를 해석하는 방법에 대한 자세한 내용은 작업 모니터링 및 디버깅 섹션을 참조하세요.
세부 정보
[Details(세부 정보)] 탭은 작업의 속성을 포함합니다. 작업 정의에 대한 세부 정보를 보여주고 작업을 시작하는 트리거를 목록에 기록합니다. 목록에 있는 트리거 하나가 실행되는 각 시간에 따라 작업이 시작됩니다. 트리커 목록의 세부 정보는 다음을 포함합니다.
-
[Trigger name(트리거 이름)]은 작업을 실행하기 위한 트리거 이름을 보여줍니다.
-
[Trigger type(트리거 유형)]은 작업을 실행하는 트리거 유형을 보여줍니다.
-
[Trigger status(트리거 상태)]는 트리거가 생성, 활성화 및 비활성화되었는지 보여줍니다.
-
[Trigger parameters(트리거 파라미터)]는 트리거 실행을 정의하는 파라미터를 보여줍니다.
-
Jobs to trigger(시도할 작업)는 트리거가 실행될 때 작업 목록을 보여줍니다.
Details(세부 정보) 탭에는 소스 및 대상 정보가 포함되어 있지 않습니다. 소스 및 대상 세부 정보를 보려면 스크립트를 검토하십시오.
Script
[Script(스크립트)] 탭은 작업이 시작되면 실행되는 스크립트를 보여줍니다. [Edit script(스크립트 편집하기)] 보기를 이 탭에서 호출할 수 있습니다. AWS Glue 콘솔의 스크립트 에디터에 대한 자세한 내용은 작업(레거시) 단원을 참조하십시오. 스크립트에 호출된 함수에 대한 자세한 내용은 PySpark의 AWS Glue ETL 스크립트 프로그래밍 단원을 참조하십시오.
지표
[지표(Metrics)] 탭에는 작업이 실행되고 프로파일링이 활성화될 때 수집되는 지표가 표시됩니다. 다음 그래프가 표시됩니다.
ETL 데이터 이동
메모리 프로필: 드라이버 및 실행기
다음 그래프를 표시하려면 View additional metrics(추가 측정치 보기)를 선택합니다.
ETL 데이터 이동
메모리 프로필: 드라이버 및 실행기
실행기 간의 데이터 셔플
CPU 부하: 드라이버 및 실행기
작업 실행: 활성 실행기, 완료된 단계 및 최대 필요 실행기
지표를 수집하도록 작업이 구성된 경우 이러한 그래프에 대한 데이터가 CloudWatch 지표로 푸시됩니다. 지표를 설정하고 그래프를 해석하는 방법에 대한 자세한 내용은 작업 모니터링 및 디버깅 섹션을 참조하세요.
예 ETL 데이터 이동 그래프
ETL 데이터 이동 그래프는 다음 측정치를 표시합니다.
모든 실행기가 Amazon S3에서 읽은 바이트 수 - glue.ALL.s3.filesystem.read_bytes
-
모든 실행기가 Amazon S3에 쓴 바이트 수 - glue.ALL.s3.filesystem.write_bytes
![AWS Glue 콘솔의 [지표(Metrics)] 탭의 ETL 데이터 이동 그래프.](images/job_detailed_etl.png)
예 메모리 프로필 그래프
메모리 프로필 그래프는 다음 측정치를 표시합니다.
드라이버에 의해 이 드라이버용 JVM 힙에 사용되는 메모리 부분(규모: 0~1), executorId에 의해 식별되는 실행기, 또는 모든 실행기 -
![AWS Glue 콘솔의 [지표(Metrics)] 탭의 메모리 프로파일 그래프.](images/job_detailed_mem.png)
예 실행기 간의 데이터 셔플 그래프
실행기 간의 데이터 셔플 그래프는 다음 측정치를 표시합니다.
서로 간에 데이터를 셔플링하기 위해 모든 실행기가 읽은 바이트 수 - glue.driver.aggregate.shuffleLocalBytesRead
-
서로 간에 데이터를 셔플링하기 위해 모든 실행기가 쓴 바이트 수 - glue.driver.aggregate.shuffleBytesWritten
![AWS Glue 콘솔의 [지표(Metrics)] 탭의 실행기 간의 데이터 셔플 그래프.](images/job_detailed_data.png)
예 CPU 부하 그래프
CPU 부하 그래프는 다음 측정치를 표시합니다.
드라이버, executorId로 식별되는 실행기 또는 모든 실행기가 사용한 CPU 시스템 로드 부분(규모: 0~1).
![AWS Glue 콘솔의 [지표(Metrics)] 탭의 CPU 로드 그래프.](images/job_detailed_cpu.png)
예 작업 실행 그래프
작업 실행 그래프는 다음 측정치를 표시합니다.
능동적으로 실행 중인 실행기 수 - glue.driver.ExecutorAllocationManager.executors.numberAllExecutors
완료된 단계 수 - glue.aggregate.numCompletedStages
최대 필요 실행기 수 - glue.driver.ExecutorAllocationManager.executors.numberMaxNeededExecutors
![AWS Glue 콘솔의 [지표(Metrics)] 탭의 작업 실행 그래프.](images/job_detailed_exec.png)