[2023 기능대회 준비] 13. AWS Glue란?

Yohan_05·2023년 3월 23일
1
post-thumbnail

Glue를 알아보기 전에 몇 가지 개념을 먼저 알아보자.

ETL 서비스란

ETL은 추출, 변환, 로드를 나타내며(Extract, Transform, Load) 조직에서 여러 시스템의 데이터를 단일 데이터베이스, 데이터 저장소, 데이터 웨어하우스 또는 데이터 레이크에 결합하기 위해 일반적으로 허용되는 방법임.
ETL을 사용하면 기존 데이터를 저장하거나 집계(현재 더 일반적인 방식)하여 분석하고 이를 비즈니스 결정에 활용할 수 있음.

클라우드 기반 ETL의 작동 방식

추출

추출은 온라인, 온프레미스, 기존 소스, SaaS등 하나 이상의 소스에서 데이터를 가져오는 프로세스임. 가져오기, 즉 추출이 완료된 후에는 데이터가 스테이징 영역에 로드됨.

변환

변환에는 데이터를 가져와서 정리하고 대상 데이터베이스, 데이터 저장소, 데이터 웨어하우스 또는 데이터 레이크에 저장할 수 있도록 공통된 형식으로 만드는 작업이 포함됨. 정리에는 일반적으로 중복되거나 불완전하거나 명백히 잘못된 레코드를 제거하는 작업이 포함됨.

로드

로드는 형식이 지정된 데이터를 대상 데이터베이스, 데이터 저장소, 데이터 웨어하우스 또는 데이터 레이크에 삽입하는 프로세스임.

Data Warehouse란

데이터 웨어 하우스는 비즈니스 목적을 위해 종합적으로 분석할 수 있도록 다양한 소스의 데이터를 결합한 데이터 베이스임. etl은 종종 데이터를 데이터 웨어하우스로 이전하는데 사용됨.

Glue란?

aws glue란 간단하게 ETL 서비스이다. 추출하고 변환해서 다시 저장하는 ETL 서비스를 완전히 AWS Glue를 통해 관리할 수 있다고 이해하면됨.
이러한 서비스를 통해 간단하게 데이터를 정리하고 검증하고 옮길 수 있도록 해줌.

Glue의 특징?

서버리스

AWS Glue는 서버리스로 구성되어 인프라를 관리할 필요가 없다.

중앙 메타데이터 리포지토리

AWS Glue는 Data Catalog라고 하는 중앙 메타데이터 저장소라고 하는 데이터베이스를 사용한다. 즉, 모든 데이터를 한 곳에 모아 ETL 작업을 할 수 있도록 제공한다는 것임.

자동으로 Python 및 scala 코드를 생성하는 ETL 엔진

python이나 scala 언어를 통해 스크립트를 생성하고 생성한 스크립를 통해 ETL 작업을 하게 되는데 aws glue는 스크립트를 자동으로 생성할 수 있는 이후에 설명할 Built-in Transforms라는 기능을 제공하고 있다.

종속성 확인, 작업 모니터링 및 재시도를 관리하는 유연한 스케줄러

작업들을 cloudwatch 를 통해 모니터링하고 트리거를 통해 실행하고 관리할 수 있는 스케줄러를 가지고있다.

Glue 언제 사용함?

데이터 웨어하우스 또는 데이터 레이크의 스토리지에 데이터를 구성,정리,검증 및 포멧할 수 있음. ETL 서비스를 제공하는 다른 플랫폼이나 서비스들도 마찬가지로 데이터를 원하는 형태에 맞게 변환해서 사용하기 쉽게 한 곳에 데이터를 모으기 위해서 사용한다고 생각하면됨. aws glue도 마찬가지로 반정형 데이터를 가져와 변환을 통해 원하는 형태로 데이터를 저장할 수 있음.

마치며

다음엔 또 Glue를 이용한 실습을 하거나 이 실습때 다른 데이터 분석 서비스들이 활용된다면 그 서비스들의 개념을 먼저 정의하고 실습을 진행할 듯 싶다.

profile
안녕하세요 DevOps 엔지니어로 현업에서 활동중인 요한이라고 합니다.

0개의 댓글