💙베하💙 누구든 탑승할 수 있는 유임승차 팀입니다!!💨😉
지난주에 이어 이번 주에는 aws의 Glue에 대해서 알아보았습니다!
맨 처음! Glue는 무엇인가? 부터 시작하겠습니다.
AWS Glue란?
AWS Glue란 fully managed 서비스로 데이터를 데이터 원천으로부터 추출하고, Amazon S3와 같은 다른 AWS 서비스로 데이터를 가공하고 이동시키기 위한 서비스들로 구성되어 있습니다. 구성하고 있는 서브 모듈들을 살펴보면 아래와 같습니다:
- AWS Glue ETL: 다양한 저장소에서 데이터를 입수, 가공하고 다른 목적지에 저장함
- AWS Glue Catalog: 영속적인 메타데이터 저장소로 메타데이터의 저장, 추가 정보 기록, 퍼블리싱 기능을 제공
- AWS Glue Data Brew: 데이터분석가, 데이터사이언티스트 등이 분석이나 ML을 위해 사용될 데이터를 시각화된 화면을 통해 정리하고 클리닝할 수 있는 도구 (프로파일링, 클리닝 및 노말라이징, 리니지 관리, 자동화 등의 기능 제공)
- AWS Glue Elastic Views: 다양한 원천의 데이터를 간단하게 materialized view로 생성할 수 있도록 도와주는 도구
- Data Store의 경우
크롤러를 정의하여 메타데이터 테이블 정의로 AWS Glue Data Catalog를 채운다.
크롤러를 데이터 스토어로 지정하면 크롤러는 데이터 카탈로그에 테이블 정의를 생성한다.
테이블 정의에 관련해
AWS Glue Data Catalog는 다른 필수 메타데이터를 포함하여 ETL 작업을 정의한다. - 스크립트를 생성하여 데이터를 변환(Transform)할 수 있다.
스크립트를 AWS Glue 콘솔이나 API에 제공한다.
AWS Glue는 완전 관리형 ETL(추출, 변환 및 로드) 서비스로, 간단하게 여러 데이터 스토어 및 스트림 간에 원하는 데이터를 분류, 정리, 보강, 이동한다.
AWS Glue는 서버리스이므로 설정하거나 관리할 인프라가 없다.
Glue는 언제 사용하죠?
AWS Glue를 사용하여 데이터 웨어하우스 또는 데이터 레이크의 스토리지를 조직하고 정리하고 인증합니다.
- AWS 클라우드 데이터를 데이터 스토어로 변환하고 이동할 수 있다.
- 정기 보고 및 분석을 위해 데이터를 개별 정적 또는 스트리밍 데이터 원본에서 데이터 웨어하우스 또는 데이터 레이크로 로드할 수 있다.
- 데이터 웨어하우스 또는 데이터 레이크에 데이터를 저장하면 비즈니스의 여러 다른 부분에서 비롯된 정보를 통합하고 의사 결정을 위한 일반 소스를 제공할 수 있다.
AWS Glue를 통한 데이터 ETL 프로세스
먼저, Glue ETL을 살펴보면 ETL의 대상 데이터는 작은 파일이나 배치보다는 '빅데이터'를 목적으로 만들어 졌습니다. 내부적으로 AWS Glue는 Apache Spark을 사용하며 AWS의 서버리스 환경에서 실행됩니다. 또한, Glue는 S3 뿐만 아니라 다른 SQL과 NoSQL 데이터베이스에도 접근할 수 있습니다.
Spark 클러스터를 구축하고 데이터 ETL용으로 사용하기 위해서는 많은 구축 비용이 들어갑니다. 또한, 특정 시간에만 처리가 필요하여 클러스터의 가동율도 매우 낮을 수 있습니다. 그렇기에 서버리스의 Glue를 활용하여 구축 비용은 없애고, 필요할 때만 컴퓨터 리소스를 사용할 수 있습니다.
Glue의 몇 가지 사용례는 아래와 같습니다:
- 데이터 레이크, 웨어하우스 운영
- Event-driven ETL 파이프라인
- ML을 위한 데이터셋 생성 및 정리
AWS의 데이터 환경에서 Catalog는 아래와 같이 중심에 위치하며 대부분의 데이터 자원에 대한 메타데이터를 제공합니다. 그렇기에 Athena, Redshift, EMR과 같은 처리 도구들은 처리 시에 메타데이터를 통합관리하는 Catalog만을 바라보고 데이터 I/O를 진행할 수 있게 됩니다.
Glue ETL은 기존에 메타데이터 관리되지 않은 데이터가 있다면 Crawler를 통해 메타데이터를 등록하거나, 새롭게 입수되거나 가공되어 생성되는 데이터를 처리하고 처리 이후 자동으로 Catalog 추가를 진행할 수 있습니다.
다음번엔 더욱 유익한 내용으로 찾아오겠습니다.
날씨가 많이 더워지고 있는데 얼음 나눠먹어요~,~
'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글
AWS CloudFront (0) | 2022.05.27 |
---|---|
AWS CloudFormation이란? (0) | 2022.05.26 |
EC2 인스턴스 EBS 볼륨 확장 (0) | 2022.05.22 |
EBS / EFS / S3 비교 (0) | 2022.05.20 |
[AWS] Slack Alarm을 통한 Monitoring (0) | 2022.05.19 |
댓글