Published 2022. 5. 29. 18:35
728x90
반응형

AWS Glue 에서 사용하는 기본적인 용어에 대해서 정리해봤다.
AWS 에서 제공해주는 설명서에도 자세히 설명되어있지만 이해가 잘 되지 않는 부분을 보완해서 정리해봤다.

 

데이터 카탈로그 - AWS Glue Data Catalog

AWS Glue의 영구적 메타데이터 스토어입니다.
테이블 정의, 작업 정의 및 기타 관리 정보를 포함하여 AWS Glue 환경을 관리합니다.
각 AWS 계정에는 리전당 AWS Glue Data Catalog 하나가 있습니다.
리전당 하나씩 만들게 만든 이유는 아마 한 곳에서 통합해 데이터를 관리하기 위함이라고 생각하면 될 것 같다.

간단하게 AWS Glue 에서 사용하기 위한 메타데이터를 저장하기 위한 저장소라고 생각하면 된다.

데이터베이스 - Database

논리 그룹으로 구성된 일련의 연결된 Data Catalog 테이블 정의입니다.
크롤러를 통해 가져온 메타데이터를 데이터베이스에 테이블을 생성해 저장하게 된다.

테이블 - Table in Database

데이터를 나타내는 메타데이터 정의입니다.
데이터가 Amazon Simple Storage Service(Amazon S3) 파일, Amazon Relational Database Service(Amazon RDS) 테이블 또는 다른 데이터 집합에 있는지에 관계없이 테이블은 데이터의 스키마를 정의합니다.
Data Catalog의 테이블은 열 이름, 데이터 유형 정의, 파티션 정보 및 베이스 데이터 세트에 대한 기타 메타데이터로 구성됩니다.
데이터의 스키마는 AWS Glue 테이블 정의에 나타납니다.
실제 데이터는 파일 혹은 관계형 데이터베이스 테이블 어디에 있든지 기존 데이터 스토어에 남겨집니다.
AWS Glue는 파일과 관계형 데이터베이스 테이블 목록을 AWS Glue Data Catalog에 작성합니다.
ETL 작업을 생성할 경우 소스와 대상로써 사용됩니다.

연결 - Connection

특정 데이터 스토어에 연결하는 데 필요한 속성을 포함하는 Data Catalog 객체입니다.
말 그대로 데이터 스토어를 연결하기 위해 연결 정보를 미리 등록해놓을 수 있다.
등록해놓은 연결 객체를 크롤러를 통해 데이터의 메타데이터를 가져올 수 있다.

 

크롤러 - Crawler

데이터 스토어(소스 또는 대상)에 연결하는 프로그램은 분류자의 우선 순위 지정 목록을 통해 데이터의 스키마를 결정한 다음
AWS Glue Data Catalog에 메타데이터 테이블을 생성합니다.

크롤러가 데이터 스토어에서 데이터를 직접 가져올 수도 있지만 데이터 카탈로그 객체인 연결(Connection)을 통해서도 가져올 수 있다.

분류자 - Classifier

데이터 스키마를 결정합니다.
AWS Glue는 CSV, JSON, AVRO, XML 등과 같은 일반 파일 형식에 대한 분류자를 제공합니다.
JDBC 연결을 사용한 일반 관계형 데이터베이스 관리 시스템을 위한 분류자를 제공합니다.
a grok 패턴을 사용하거나 XML 문서에 행 태그를 지정하여 자체 분류자를 작성할 수 있습니다.

크롤러를 통해 데이터 스토어의 메타데이터를 가져오는 과정에서 분류자를 통해 구분해 메타데이터를 가져와 스키마를 생성한다.
기본적으로 JSON, CSV 등의 파일 형식에 대해서 분류를 하기도 하지만 로우 데이터의 형태가 달라 구분하기 위한 분류자가 필요할 때
분류자를 커스텀해서 메타데이터를 가져와 데이터 카탈로그에 저장할 수 있다.

 

데이터 스토어,  데이터 원본,  데이터 대상

데이터 스토어는 데이터를 영구적으로 저장하기 위한 리포지토리입니다.
예를 들면 Amazon S3 버킷과 관계형 데이터베이스가 있습니다.
데이터 원본은 프로세스 또는 변환의 입력값으로 사용되는 데이터 스토어입니다.
데이터 대상은 프로세스 또는 변환에서 쓰기를 수행하는 대상 데이터 스토어입니다.

AWS Glue Studio Job

작업은 ETL 작업을 수행하는 데 필요한 비즈니스 로직입니다.
변환 스크립트, 데이터 원본 및 데이터 대상으로 구성됩니다.
작업은 트리거에 의해 시작되고, 트리거는 예약되거나 이벤트 기반으로 작동할 수 있습니다.

ETL Script

소스에서 데이터를 추출하고 데이터를 변환한 다음 대상으로 로드하는 코드입니다.
AWS Glue는 PySpark 또는 Scala 스크립트를 생성합니다.

Transform

다른 포맷으로 데이터를 바꾸는 코드 로직.

Trigger

ETL 작업 시작. 트리거는 정해진 시간 혹은 이벤트 기반으로 정의할 수 있습니다.

 

아래의 AWS Glue 설명서를 통해 내가 설명하지 않은 용어에 대해서 확인해볼 수 있다.

- AWS Glue 설명서

https://docs.aws.amazon.com/ko_kr/glue/latest/dg/components-key-concepts.html

 

AWS Glue 개념 - AWS Glue

AWS Glue에 있는 테이블과 데이터베이스는 AWS Glue Data Catalog의 객체입니다. 이 객체들은 메타데이터를 포함하지만 데이터 스토어의 데이터는 포함하지 않습니다.

docs.aws.amazon.com

 

728x90
반응형
복사했습니다!