Glue
•
데이터 분석을 위한 ETL(Extract, Transform and Load, 추출, 변환 및 로드) 서비스
•
다양한 소스에서 데이터 검색 및 추출, 데이터 강화, 정리, 정규화 및 결합, 데이터베이스, 데이터 웨어하우스 및 데이터 레이크에 로드 및 구성 등의 여러 작업을 포함
데이터 원본
•
S3
•
RDS
•
DynamoDB
•
MongoDB 및 DocumentDB
•
Kinesis Data Stream
•
Apache Kafka
•
JDBC DB
데이터 대상
•
S3
•
RDS
•
MongoDB 및 DocumentDB
•
JDBC DB
Data Source (데이터 소스)
•
AWS Glue로 ETL하기 위해서 데이터를 가져오는 장소
•
Data Source 예시) S3, RDS, Redshift, DynamoDB, DocumentDB, Kinesis Data Stream, 온프레미스의 데이터베이스
Crawler (크롤러) - 데이터 카탈로그 작성
•
Crawler는 데이터 소스(데이터 스토어)에서 데이터를 추출하고 "Data Catalog(데이터 카탈로그)"를 작성한다.
•
스키마와 같은 metadata를 데이터 카타로그에 저장한다.
•
데이터 카탈로그에 저장되는 정보는 테이블 형식이며, 이를 작성하는 것이 크롤러(Crawler)의 역할이다.
Data Catalog (데이터 카탈로그) - 데이터의 메타데이터 저장
•
Data Catalog는 추출된 데이터의 메타데이터(데이터의 속성 정보)를 저장하는 저장소이자 중앙에서 관리한다.
•
이는 데이터 그 자체를 저장하는게 아니라, 메타데이터(데이터에 대한 정보)만 저장한다.
•
데이터 소스에서 어떤 데이터를 어떤 방법으로 추출할지에 대한 ETL처리에 관한 설정 정보를 저장한다.
•
메타데이터 예시) 데이터 파일의 위치, 스키마(구조), 포맷, 테이블 정의 등
•
S3에 있는 데이터 파일의 위치나 그 파일의 구조(테이블의 열, 데이터 형식 등)를 Data Catalog에 저장하지만, 실제 데이터 파일은 S3나 다른 데이터 저장소에 그대로 남아 있다.
ETL Engine - Jobs
•
작성된 Data Catalog를 기반으로 ETL 엔진이 데이터 소스에서 데이터를 추출하고, 데이터 타겟으로 데이터를 내보내는 처리를 수행한다.
•
이 데이터의 변환 및 타겟으로 내보내는 처리를 잡(Job)이라고 부른다.
Data Target
•
Glue가 데이터를 추출하여 가공한(ETL) 후, 데이터를 보관하는 장소를 뜻한다.
•
Data Stores의 예시) S3, RDS, Redshift, DynamoDB, 온프레미스의 데이터베이스
AWS Glue Bookmark
•
AWS Glue의 북마크(bookmark)는 ETL(Extract, Transform, Load) 작업 중에 중복 데이터(이미 ETL 작업 돌린 데이터)를 방지하고 데이터 처리의 지속성을 유지하기 위한 기능이다.
•
북마크는 이전에 처리된 데이터를 추적하고, 다음 작업 실행 시 새로운 데이터만 처리되도록 도와준다.
•
즉, 이미 ETL 작업 했는데 또 ETL 작업하면 아주 비효율적이기 때문에, 이러한 문제가 없도록 새로운 데이터만 ETL 작업하도록 해주는 기능이다.




