ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS Glue 살펴보기
    Cloud 2021. 7. 21. 08:07
    반응형

    전통적으로 비지니스의 가장 중요한 자원은 '인적' 그리고 '금융' 자산이었습니다. 최근에는 데이터 활용도가 높아짐에 따라, 이러한 자산에 '데이터'가 포함되었습니다. 그러한 '데이터 자산' 관리에 있어서 중요한 부분은 데이터를 입수, 처리, 가공, 분석할 수 있는 잘 갖춰진 '데이터 플랫폼'입니다. AWS Glue는 AWS가 제공하는 데이터 플랫폼의 근간에 위치하며, AWS의 다양한 데이터 관련 서비스를 '붙여'주는 기능을 합니다. 

     

    이 글에서는 AWS Glue와 관련해 아래와 같은 사항들을 다룹니다:

     

    • AWS Glue란?
    • AWS Glue를 통한 데이터 ETL 프로세스

    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로 생성할 수 있도록 도와주는 도구

    위의 여러 기능 중에서 데이터 환경에서 많이 쓰이는 ETL와 카탈로깅 중심으로 알아보겠습니다.

     

     

    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를 진행할 수 있게 됩니다. 

    AWS Glue unified Cataloging - Image from [1] 

     

    Glue ETL은 기존에 메타데이터 관리되지 않은 데이터가 있다면 Crawler를 통해 메타데이터를 등록하거나, 새롭게 입수되거나 가공되어 생성되는 데이터를 처리하고 처리 이후 자동으로 Catalog 추가를 진행할 수 있습니다. 

     

     

    Reference

    [1] https://aws.amazon.com/glue

    [2] https://aws.amazon.com/glue/features/databrew/

    [3] https://aws.amazon.com/glue/features/elastic-views/

     

     

     

    반응형
Kaden Sungbin Cho