기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Glue ETL
AWS Glue ETL은 다양한 소스에서 데이터를 추출하고, 비즈니스 요구 사항에 맞게 변환하고, 선택한 대상으로 로드하는 것을 지원합니다. 이 서비스는 Apache Spark 엔진을 사용하여 워커 노드 전체에 빅 데이터 워크로드를 분산하여 인 메모리 프로세싱으로 더 빠르게 변환할 수 있도록 합니다.
AWS Glue 아마존 심플 스토리지 서비스 (Amazon S3), 아마존 DynamoDB, 아마존 관계형 데이터베이스 서비스 (Amazon RDS) 를 비롯한 다양한 데이터 소스를 지원합니다. 지원되는 데이터 소스에 대해 자세히 알아보려면 AWS Glue의 ETL 연결 유형 및 옵션을 참조하십시오.
에서 작성 AWS Glue
AWS Glue 경험과 사용 사례에 따라 ETL 작업을 작성할 수 있는 다양한 방법을 제공합니다.
-
Python 쉘 작업은 Python으로 작성된 기본 ETL 스크립트를 실행하도록 설계되었습니다. 이러한 작업은 단일 머신에서 실행되며 중소 규모의 데이터 세트에 더 적합합니다.
-
Apache Spark 작업은 Python 또는 Scala로 작성할 수 있습니다. 이러한 작업은 Spark를 사용하여 여러 워커 노드에 걸쳐 워크로드를 수평적으로 규모를 조정하므로 대규모 데이터 세트와 복잡한 변환을 처리할 수 있습니다.
-
AWS Glue 스트리밍 ETL은 Apache Spark Structured Streaming 엔진을 사용하여 정확히 한 번의 시맨틱을 사용하여 마이크로 배치 작업의 스트리밍 데이터를 변환합니다.
Python 또는 Scala에서 AWS Glue 스트리밍 작업을 작성할 수 있습니다. -
AWS Glue StudioApache Spark 프로그래밍을 처음 접하는 개발자가 Spark 기반 ETL에 액세스할 수 있도록 하는 비주얼 boxes-and-arrows 스타일 인터페이스입니다.
데이터 처리 단위
AWS Glue 데이터 처리 장치 (DPU) 를 사용하여 ETL 작업에 할당된 컴퓨팅 리소스를 측정하고 비용을 계산합니다. 각 DPU는 vCPU 4개와 16GB 메모리와 동일합니다. 작업의 복잡성과 데이터 양에 따라 DPU를 AWS Glue 작업에 할당해야 합니다. 적절한 양의 DPU를 할당하면 성능 요구 사항과 비용 제약 사이에서 균형을 맞출 수 있습니다.
AWS Glue 다양한 워크로드에 최적화된 여러 작업자 유형을 제공합니다.
-
G.1X 또는 G.2X (대부분의 데이터 변환, 조인 및 쿼리용)
-
G.4X 또는 G.8X (더 까다로운 데이터 변환, 집계, 조인 및 쿼리용)
-
G.025X (소량의 산발적인 데이터 스트림용)
-
표준 ( AWS Glue 버전 1.0 이전 버전용, 이후 버전에는 권장되지 않음) AWS Glue
Python 쉘 사용
Python 쉘 작업의 경우 1DPU를 사용하여 16GB 메모리를 사용하거나 0.0625DPU를 사용하여 1GB 메모리를 사용할 수 있습니다. Python 셸은 중소형 데이터 세트 (최대 약 10GB) 를 포함하는 기본 ETL 작업에 사용됩니다.
작업자 유형 비교
다음 표는 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 이상을 사용하는 스트리밍 작업에만 사용할 수 있습니다.