AWS Glue 작업은 소스 데이터에 연결하여 처리한 다음 데이터 대상에 작성하는 스크립트를 캡슐화합니다. 일반적으로 작업은 추출, 변환 및 로드(ETL) 스크립트를 실행합니다. 작업은 범용 Python 스크립트(Python 셸 작업)를 실행할 수도 있습니다. AWS Glue 트리거는 일정 또는 이벤트에 따라 또는 필요에 따라 작업을 시작할 수 있습니다. 작업 실행을 모니터링하여 완료 상태, 지속 시간, 시작 시간 같은 실행 시간 지표를 이해할 수 있습니다.
AWS Glue에서 생성하는 스크립트를 사용하거나 직접 제공할 수 있습니다. 소스 스키마와 대상 위치 또는 스키마가 있을 경우 AWS Glue 코드 생성기는 Apache Spark API(PySpark) 스크립트를 자동적으로 생성할 수 있습니다. 이 스크립트를 시작 포인트로 사용할 수 있고 목적에 부합하기 위해 편집할 수도 있습니다.
AWS Glue는 JSON, CSV, ORC(Optimized Row Columnar), Apache Parquet 및 Apache Avro를 포함해 몇 가지 데이터 포맷으로 출력 파일을 작성할 수 있습니다. 몇 가지 데이터 포맷의 경우, 일반 압축 포맷이 작성될 수 있습니다.
AWS Glue에서 지원하는 작업 유형은 다음과 같습니다.
Spark 작업은 AWS Glue에서 관리하는 Apache Spark 환경에서 실행됩니다. 데이터를 배치로 처리합니다.
-
스트리밍 ETL 작업은 데이터 스트림에 대해 ETL을 수행한다는 점을 제외하고 Spark 작업과 유사합니다. 이는 Apache Spark Structured Streaming 프레임워크를 사용합니다. 스트리밍 ETL 작업에 일부 Spark 작업 기능을 사용할 수 없습니다.
-
Python 셸 작업은 Python 스크립트를 셸로 실행하고 사용 중인 AWS Glue 버전에 따라 다른 Python 버전을 지원합니다. 이러한 작업을 사용하여 Apache Spark 환경이 필요하지 않은 작업을 예약하고 실행할 수 있습니다.
-
Ray는 Python을 중심으로 워크로드를 확장하는 데 사용될 수 있는 오픈 소스 분산 계산 프레임워크입니다. AWS Glue Ray 작업 및 대화형 세션을 활용하면 Ray를 AWS Glue 내에서 사용할 수 있습니다.
다음 섹션에서는 AWS Glue에서 ETL 및 Ray 작업에 대한 정보를 제공합니다.