Search

Glue

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 작업하도록 해주는 기능이다.