1 AWS Glue
- AWS Glue는 서버리스 데이터 통합 서비스로, 애널리틱스 사용자가 여러 데이터 소스로부터 데이터를 통합할 수 있도록 합니다.
- 이 서비스는 애널리틱스, 머신러닝, 애플리케이션 개발을 위해 데이터를 사용할 수 있게 해줍니다.
2 주요 기능
2.1 데이터 발견 및 카탈로그 관리
- AWS Glue는 70개 이상의 다양한 데이터 소스에 연결하고 중앙 집중식 데이터 카탈로그에서 데이터를 관리할 수 있게 해줍니다.
- AWS Glue 크롤러를 사용하여 스키마 정보를 자동으로 추론하고 이를 Glue 데이터 카탈로그에 통합할 수 있습니다.
- 데이터베이스와 테이블에 대한 스키마와 권한을 관리할 수 있습니다.
- 다양한 온프레미스 및 AWS 데이터 소스에 연결하여 데이터 레이크를 구축할 수 있습니다.
2.2 데이터 변환, 준비 및 정제
- 시각적인 작업 캔버스 인터페이스를 통해 데이터 변환 작업을 정의하고 자동으로 코드를 생성할 수 있습니다.
- 간단한 작업 스케줄링을 통해 복잡한 ETL 파이프라인을 구축할 수 있습니다.
- 스트리밍 데이터를 실시간으로 정제하고 변환하여 몇 초 만에 분석이 가능하게 합니다.
- 머신러닝을 활용한 중복 제거 및 데이터 정제 기능을 제공하여 비전문가도 쉽게 데이터를 정제할 수 있습니다.
- 내장된 작업 노트북을 통해 최소한의 설정으로 서버리스 노트북을 제공하여 빠르게 시작할 수 있습니다.
- AWS Glue 인터랙티브 세션을 통해 데이터를 탐색하고 준비하며, IDE나 노트북을 사용하여 데이터를 상호작용적으로 처리할 수 있습니다.
- 민감한 데이터를 정의하고 탐지하며 처리하는 기능을 제공합니다.
2.3 데이터 파이프라인 구축 및 모니터링
- 작업 부하에 따라 리소스를 동적으로 확장 및 축소할 수 있습니다.
- 이벤트 기반 트리거를 통해 크롤러나 Glue 작업을 자동으로 시작하고, 의존적인 작업 체인을 설계할 수 있습니다.
- 스파크(Spark) 또는 레이(Ray) 엔진을 선택하여 Glue 작업을 실행하고, 자동화된 모니터링 도구와 AWS CloudTrail을 통해 작업을 모니터링할 수 있습니다.
- ETL 및 통합 작업을 위한 워크플로우를 정의하여 여러 크롤러, 작업 및 트리거를 관리할 수 있습니다.
3 사용 사례
3.1 데이터 레이크 구축
- 다양한 데이터 소스를 통합하여 중앙 집중식 데이터 레이크를 구축할 수 있습니다.
- 데이터를 Amazon S3에 저장하고 Glue 데이터 카탈로그를 사용하여 메타데이터를 관리함으로써 데이터를 쉽게 검색하고 분석할 수 있습니다.
3.2 데이터 웨어하우스 로드
- AWS Glue를 사용하여 데이터를 Amazon Redshift와 같은 데이터 웨어하우스로 로드할 수 있습니다.
- ETL 작업을 통해 데이터를 정제하고 변환하여 데이터 웨어하우스에 최적화된 형식으로 로드할 수 있습니다.
3.3 실시간 데이터 처리
- AWS Glue는 AWS Kinesis와 연동하여 실시간 데이터 스트리밍을 처리할 수 있습니다.
- 스트리밍 데이터를 ETL 작업을 통해 변환하고 저장하여 실시간 분석을 가능하게 합니다.
4 북마크
- 레퍼런스
- AWS Glue의 job bookmarks 기능을 사용하면 이전에 처리된 데이터를 추적하여 이미 처리된 데이터를 다시 처리하지 않도록 할 수 있습니다.
- 이를 통해 매일 새로 추가된 데이터만 처리하여 효율성을 높일 수 있습니다.
- Job bookmarks는 상태를 저장하고, 각 ETL 작업 실행 시 상태를 유지하여 데이터의 증분 처리를 가능하게 합니다.
- Job bookmarks는 다양한 ETL 작업에서 사용될 수 있으며, 데이터 처리 시간과 비용을 절약하는 데 유용합니다.
5 S3 데이터를 Parquet 형식으로 변환하기
- 다음은 AWS Glue를 사용하여 S3 버킷에 저장된 CSV 데이터를 Parquet 형식으로 변환하는 과정입니다.
- S3에 파일이 업로드 되면 Lambda 함수가 트리거되어 Glue ETL 작업을 실행합니다.
- Glue ETL 작업은 CSV 파일을 Parquet 형식으로 변환하고 변환된 데이터를 S3에 저장합니다.
- Amazon Athena를 사용하여 Parquet 형식의 데이터를 분석할 수 있습니다.
6 Glue 데이터 카탈로그
- AWS Glue 데이터 카탈로그는 다양한 데이터 소스에서 수집한 메타데이터를 중앙에서 관리합니다.
- Glue 데이터 크롤러는 S3, RDS, DynamoDB 등의 데이터 소스에서 메타데이터를 수집하여 데이터 카탈로그에 저장합니다.
- Glue ETL 작업은 수집된 메타데이터를 사용하여 데이터를 변환하고 다양한 분석 도구(Athena, Redshift Spectrum, EMR)와 연동할 수 있습니다.
7 Glue 고급 기능
7.1 Glue Job Bookmarks
- Glue Job Bookmarks는 이전에 처리된 데이터를 다시 처리하지 않도록 하여 효율성을 높입니다.
7.2 Glue Elastic Views