데브코스 최종 프로젝트에서 ETL을 위해 AWS Glue를 사용하려고 한다. 그러나 개념을 아직 모르기 때문에 AWS Glue의 개념과 어떤 역할을 하는지 알아보려고 한다.
AWS Glue
- AWS Glue 사용 예제 : 실제로 사용할 때에는 아래의 링크를 참고해서 진행
AWS Glue 개념과 구성 요소
AWS Glue 개념
- 완전 관리형 데이터 추출 변환 및 적재(ETL) 서비스
- 여러 데이터 스토어 및 데이터 스트림 간에 원하는 데이터를 분류, 정리, 보강, 이동 가능
AWS Glue 특징
- 서버리스이므로 설정하거나 관리할 인프라가 없음
- 원본/변경 데이터의 저장을 위한 별도의 저장소가 필요 없고, 메타 데이터만으로 ETL 작업 수행
- 정형 데이터와 더불어 반정형 데이터도 작동
- Scheduling : 주기적인 작업 실행 자동화 가능
- Bookmark : 작업 상태를 저장하여 중단된 시점부터 작업 재개 가능
- Monitoring : 작업에 대한 모니터링 지원
AWS Glue 구성 요소
- Data Store
- S3, RDS, Redshift, Kinesis, Kafka 등 데이터 저장 서비스나 데이터 스트림 서비스
- 데이터를 지속적으로 저장하기 위한 저장소
- Classifier
- 데이터의 스키마를 결정
- 일반적인 파일의 분류자 제공 (csv, tsv 등)
- Crawler
- Classifier의 우선순위 지정 목록을 통해 스키마를 결정
- AWS Glue Data Catalog에 메타 데이터 테이블 생성
- Data Catalog
- Glue의 영구적 메타 데이터 스토어
- 테이블 정의, 작업 정의 및 기타 관리 정보를 포함하여 AWS Glue 환경을 관리
- Job
- ETL 작업 수행에 필요한 비즈니스 로직
- 변환 스크립트, 데이터 원본, 데이터 대상으로 구성
- 데이터 원본 (Data Source) : 프로세스 또는 변환(Transform)의 입력(Input)이 되는 데이터 저장소
- 데이터 대상 (Data Target) : 프로세스 또는 변환(Transform)이 쓰는(Write) 데이터 저장소
- Connection
- AWS의 다른 저장소나 사용자의 VPC 환경 내에 있는 DB에서 데이터 추출을 위한 장치
- Script
- Spark에서 사용하는 PySpark, Scala 등으로 짜인 ETL 작업 스크립트
- Schedule or Event
- Schedule : Job이 실행되는 주기를 설정
- Event : 특정 이벤트로 인한 트리거로 실행
Reference
'Infra > AWS' 카테고리의 다른 글
[AWS] EC2 Ubuntu에서 metabase 구축 (0) | 2024.11.23 |
---|---|
[AWS] Amazon Linux 2023에서 Tableau Server 구축 (0) | 2024.11.16 |
[AWS] Amazon VPC (Virtual Private Cloud) 개념과 구성 요소 (0) | 2024.07.03 |
[AWS] AWS 서비스 종료 후에도 VPC 비용 발생 문제 해결 (0) | 2024.05.21 |
[AWS] IAM 개념과 작동 방식 및 리소스 (0) | 2024.05.17 |