

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

# AWS Glue ETL
<a name="aws-glue-etl"></a>

AWS Glue ETL은 다양한 소스에서 데이터를 추출하고, 비즈니스 요구 사항에 맞게 이를 변환하여 선택한 대상으로 로드하는 것을 지원합니다. 이 서비스는 Apache Spark 엔진을 사용하여 워커 노드 전체에 빅 데이터 워크로드를 분산하여 인 메모리 프로세싱으로 더 빠르게 변환할 수 있도록 합니다.

AWS Glue는 Amazon Simple Storage Service(Amazon S3), Amazon DynamoDB, Amazon Relational Database Service(Amazon RDS) 등 다양한 데이터 소스를 지원합니다. 지원되는 데이터 소스에 대해 자세히 알아보려면 [AWS Glue의 ETL 연결 유형 및 옵션](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html)을 참조하세요.

## AWS Glue에서 작성
<a name="authoring-etl"></a>

AWS Glue는 사용자 경험과 사용 사례에 따라 ETL 작업을 작성할 수 있는 다양한 방법을 제공합니다.
+ [Python 쉘 작업](https://docs.aws.amazon.com/glue/latest/dg/add-job-python.html)은 Python으로 작성된 기본 ETL 스크립트를 실행하도록 설계되었습니다. 이러한 작업은 단일 머신에서 실행되며 중소 규모의 데이터세트에 더 적합합니다.
+ [Apache Spark 작업](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming.html)은 Python 또는 Scala로 작성할 수 있습니다. 이러한 작업은 Spark를 사용하여 여러 워커 노드에 걸쳐 워크로드를 수평적으로 규모를 조정하므로 대규모 데이터세트와 복잡한 변환을 처리할 수 있습니다.
+ [AWS Glue 스트리밍 ETL](https://docs.aws.amazon.com/glue/latest/dg/add-job-streaming.html)은 Apache Spark Structured Streaming 엔진을 사용하여 스트리밍 데이터를 마이크로 배치 작업으로 변환하며, [정확히 한 번](https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#overview) 처리되는 의미론을 제공합니다. AWS Glue 스트리밍 작업은 Python 또는 Scala로 작성할 수 있습니다.
+ [AWS Glue Studio](https://docs.aws.amazon.com/glue/latest/dg/author-job-glue.html)는 Apache Spark 프로그래밍을 처음 접하는 개발자도 Spark 기반 ETL을 쉽게 사용할 수 있는 상자와 화살표 스타일의 시각적 인터페이스입니다.

## 데이터 처리 단위
<a name="dpu-worker-type"></a>

AWS Glue는 데이터 처리 단위(DPU)를 사용하여 ETL 작업에 할당된 컴퓨팅 리소스를 측정하고 비용을 계산합니다. 각 DPU는 vCPU 4개와 16GB 메모리와 동일합니다. 작업의 복잡성과 데이터 볼륨에 따라 DPU를 AWS Glue 작업에 할당해야 합니다. [적절한 양의 DPU를 할당하면](https://docs.aws.amazon.com/glue/latest/dg/monitor-debug-capacity.html#monitor-debug-capacity-fix) 성능 요구 사항과 비용 제약 사이에서 균형을 맞출 수 있습니다.

AWS Glue는 다양한 워크로드에 최적화된 [여러 작업자 유형](https://docs.aws.amazon.com/glue/latest/dg/add-job.html#create-job)을 제공합니다.
+ G.1X 또는 G.2X(대부분의 데이터 변환, 조인, 쿼리에 적합)
+ G.4X 또는 G.8X(더 까다로운 데이터 변환, 집계, 조인, 쿼리에 적합)
+ G.025X(소량 및 산발적인 데이터 스트림에 적합)
+ 표준(AWS Glue 버전 1.0 이전 버전용, AWS Glue 이후 버전에는 권장되지 않음)

## Python 쉘 사용
<a name="python-shell"></a>

Python 쉘 작업의 경우 1DPU를 사용하여 16GB 메모리를 사용하거나 0.0625DPU를 사용하여 1GB 메모리를 사용할 수 있습니다. Python 쉘은 중소 규모의 데이터세트(최대 약 10GB)를 사용하는 기본 ETL 작업에 사용됩니다.

## 작업자 유형 비교
<a name="compare-worker-types"></a>

다음 표는 Apache Spark 환경을 사용하는 배치, 스트리밍 및 AWS Glue Studio ETL 워크로드에 대한 다양한 AWS Glue 작업자 유형을 보여줍니다.


|  |  |  |  |  |  |  | 
| --- |--- |--- |--- |--- |--- |--- |
|  | **G.1X** | **G.2X** | **G.4X** | **G.8X** | **G.025X** | **표준** | 
| vCPU | 4 | 8 | 16 | 32 | 2 | 4 | 
| 메모리 | 16 GB | 32GB | 64GB | 128GB | 4GB | 16 GB | 
| 디스크 공간 | 64GB | 128GB | 256GB | 512GB | 64GB | 50GB | 
| 작업자당 실행기 | 1  | 1 | 1 | 1 | 1 | 2 | 
| DPU | 1 | 2 | 4 | 8 | 0.25 | 1 | 

AWS Glue 버전 2.0 이상에서는 표준 작업자 유형을 사용하지 않는 것이 좋습니다. G.025X 작업자 유형은 AWS Glue 버전 3.0 이상을 사용하는 스트리밍 작업에만 사용할 수 있습니다.