기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
모범 사례
를 사용하여 AWS Glue개발할 때는 다음 모범 사례를 고려하십시오.
먼저 로컬에서 개발하세요
ETL 작업을 구축하는 동안 비용과 시간을 절약하려면 먼저 코드와 비즈니스 로직을 로컬에서 테스트하십시오. 셸과 통합 개발 환경 (IDE) 모두에서 AWS Glue ETL 작업을 테스트하는 데 도움이 되는 Docker 컨테이너를 설정하는 방법에 대한 지침은 Docker 컨테이너를 사용하여 로컬에서 AWS Glue 작업을 개발하고 테스트하는
대화형 세션 사용 AWS Glue
AWS Glue 대화형 세션은 IntelliJ 및 VS Code와 같은 노트북 및 IDE와 통합되는 오픈 소스 Jupyter 커널과 함께 서버리스 Spark 백엔드를 제공합니다. PyCharm 대화형 세션을 사용하면 원하는 Spark 백엔드와 IDE를 사용하여 실제 데이터세트에서 코드를 테스트할 수 있습니다. AWS Glue 시작하려면 대화형 세션 시작하기의 단계를 따르세요. AWS Glue
파티셔닝을 사용하여 필요한 항목을 정확히 쿼리하십시오.
파티셔닝이란 특정 열이나 키를 기준으로 큰 데이터 세트를 작은 파티션으로 나누는 것을 말합니다. 데이터가 분할되면 전체 데이터세트를 스캔하는 대신 특정 분할 기준을 충족하는 데이터 하위 집합을 선택적으로 스캔할 AWS Glue 수 있습니다. 따라서 특히 대규모 데이터 세트로 작업할 때 쿼리 처리가 더 빠르고 효율적입니다.
데이터를 대상으로 실행할 쿼리를 기준으로 데이터를 파티셔닝합니다. 예를 들어 대부분의 쿼리가 특정 열을 필터링하는 경우 해당 열을 파티셔닝하면 쿼리 시간을 크게 줄일 수 있습니다. 데이터 파티셔닝에 대해 자세히 알아보려면 AWS Glue에서 파티셔닝된 데이터 작업
메모리 관리 최적화
ETL 작업은 메모리 내 처리에 최적화된 Apache Spark 엔진에서 실행되므로 AWS Glue ETL 작업을 작성할 때는 메모리 관리가 매우 중요합니다. AWS Glue의 메모리 관리 최적화
-
Amazon S3 목록 구현 AWS Glue
-
그룹화
-
관련 없는 Amazon S3 경로 및 스토리지 클래스 제외
-
스파크 및 AWS Glue 읽기 파티셔닝
-
Bulk inserts
-
조인 최적화
-
PySpark 사용자 정의 함수 (UDF)
-
증분 처리
효율적인 데이터 스토리지 형식 사용
ETL 작업을 작성할 때는 변환된 데이터를 열 기반 데이터 형식으로 출력하는 것이 좋습니다. Apache Parquet 및 ORC와 같은 컬럼형 데이터 형식이 빅 데이터 스토리지 및 분석에 일반적으로 사용됩니다. 이들은 데이터 이동을 최소화하고 압축을 극대화하도록 설계되었습니다. 또한 이러한 형식을 사용하면 데이터를 여러 판독기로 분할하여 쿼리 처리 중에 병렬 읽기를 늘릴 수 있습니다.
또한 데이터를 압축하면 저장되는 데이터의 양을 줄이는 데 도움이 되며 읽기/쓰기 작업 성능이 향상됩니다. AWS Glue 기본적으로 여러 압축 형식을 지원합니다. 효율적인 데이터 스토리지 및 압축에 대한 자세한 내용은 성능 효율적인 데이터 파이프라인 구축을 참조하십시오.
적절한 규모 조정 유형 사용
수평 확장 (작업자 수 변경) 또는 수직 확장 (작업자 유형 변경) 시기를 이해하는 것은 ETL 작업의 비용 및 성능에 영향을 미칠 수 AWS Glue 있기 때문에 중요합니다.
일반적으로 변환이 복잡한 ETL 작업은 메모리를 더 많이 사용하며 수직적 규모 조정(예: G.1X에서 G.2X 작업자 유형으로 이동)이 필요합니다. 대량의 데이터가 포함된 컴퓨팅 집약적인 ETL 작업의 경우 수평 확장이 여러 노드에서 데이터를 병렬로 처리하도록 설계되었으므로 수평 확장을 권장합니다. AWS Glue
Amazon에서 AWS Glue 작업 지표를 면밀히 모니터링하면 성능 병목 현상이 메모리 또는 컴퓨팅 부족으로 인한 것인지 판단하는 CloudWatch 데 도움이 됩니다. AWS Glue 작업자 유형 및 규모 조정에 대한 자세한 내용은 Apache Spark 작업 및 파티션 데이터를 확장하는 모범 사례를