본문으로 건너뛰기

Glue

1 AWS Glue

  • AWS Glue는 서버리스 데이터 통합 서비스로, 애널리틱스 사용자가 여러 데이터 소스로부터 데이터를 통합할 수 있도록 합니다.
  • 이 서비스는 애널리틱스, 머신러닝, 애플리케이션 개발을 위해 데이터를 사용할 수 있게 해줍니다.

2 주요 기능

2.1 데이터 발견 및 카탈로그 관리

  • AWS Glue는 70개 이상의 다양한 데이터 소스에 연결하고 중앙 집중식 데이터 카탈로그에서 데이터를 관리할 수 있게 해줍니다.
  • AWS Glue 크롤러를 사용하여 스키마 정보를 자동으로 추론하고 이를 Glue 데이터 카탈로그에 통합할 수 있습니다.
  • 데이터베이스와 테이블에 대한 스키마와 권한을 관리할 수 있습니다.
  • 다양한 온프레미스 및 AWS 데이터 소스에 연결하여 데이터 레이크를 구축할 수 있습니다.

2.2 데이터 변환, 준비 및 정제

  • 시각적인 작업 캔버스 인터페이스를 통해 데이터 변환 작업을 정의하고 자동으로 코드를 생성할 수 있습니다.
  • 간단한 작업 스케줄링을 통해 복잡한 ETL 파이프라인을 구축할 수 있습니다.
  • 스트리밍 데이터를 실시간으로 정제하고 변환하여 몇 초 만에 분석이 가능하게 합니다.
  • 머신러닝을 활용한 중복 제거 및 데이터 정제 기능을 제공하여 비전문가도 쉽게 데이터를 정제할 수 있습니다.
  • 내장된 작업 노트북을 통해 최소한의 설정으로 서버리스 노트북을 제공하여 빠르게 시작할 수 있습니다.
  • AWS Glue 인터랙티브 세션을 통해 데이터를 탐색하고 준비하며, IDE나 노트북을 사용하여 데이터를 상호작용적으로 처리할 수 있습니다.
  • 민감한 데이터를 정의하고 탐지하며 처리하는 기능을 제공합니다.

2.3 데이터 파이프라인 구축 및 모니터링

  • 작업 부하에 따라 리소스를 동적으로 확장 및 축소할 수 있습니다.
  • 이벤트 기반 트리거를 통해 크롤러나 Glue 작업을 자동으로 시작하고, 의존적인 작업 체인을 설계할 수 있습니다.
  • 스파크(Spark) 또는 레이(Ray) 엔진을 선택하여 Glue 작업을 실행하고, 자동화된 모니터링 도구와 AWS CloudTrail을 통해 작업을 모니터링할 수 있습니다.
  • ETL 및 통합 작업을 위한 워크플로우를 정의하여 여러 크롤러, 작업 및 트리거를 관리할 수 있습니다.

3 사용 사례

3.1 데이터 레이크 구축

  • 다양한 데이터 소스를 통합하여 중앙 집중식 데이터 레이크를 구축할 수 있습니다.
  • 데이터를 Amazon S3에 저장하고 Glue 데이터 카탈로그를 사용하여 메타데이터를 관리함으로써 데이터를 쉽게 검색하고 분석할 수 있습니다.

3.2 데이터 웨어하우스 로드

  • AWS Glue를 사용하여 데이터를 Amazon Redshift와 같은 데이터 웨어하우스로 로드할 수 있습니다.
  • ETL 작업을 통해 데이터를 정제하고 변환하여 데이터 웨어하우스에 최적화된 형식으로 로드할 수 있습니다.

3.3 실시간 데이터 처리

  • AWS Glue는 AWS Kinesis와 연동하여 실시간 데이터 스트리밍을 처리할 수 있습니다.
  • 스트리밍 데이터를 ETL 작업을 통해 변환하고 저장하여 실시간 분석을 가능하게 합니다.

4 북마크

  • 레퍼런스
  • AWS Glue의 job bookmarks 기능을 사용하면 이전에 처리된 데이터를 추적하여 이미 처리된 데이터를 다시 처리하지 않도록 할 수 있습니다.
  • 이를 통해 매일 새로 추가된 데이터만 처리하여 효율성을 높일 수 있습니다.
  • Job bookmarks는 상태를 저장하고, 각 ETL 작업 실행 시 상태를 유지하여 데이터의 증분 처리를 가능하게 합니다.
  • Job bookmarks는 다양한 ETL 작업에서 사용될 수 있으며, 데이터 처리 시간과 비용을 절약하는 데 유용합니다.

5 S3 데이터를 Parquet 형식으로 변환하기

  • 다음은 AWS Glue를 사용하여 S3 버킷에 저장된 CSV 데이터를 Parquet 형식으로 변환하는 과정입니다.
  • S3에 파일이 업로드되면 Lambda 함수가 트리거되어 Glue ETL 작업을 실행합니다.
  • Glue ETL 작업은 CSV 파일을 Parquet 형식으로 변환하고 변환된 데이터를 S3에 저장합니다.
  • Amazon Athena를 사용하여 Parquet 형식의 데이터를 분석할 수 있습니다.

6 Glue 데이터 카탈로그

  • AWS Glue 데이터 카탈로그는 다양한 데이터 소스에서 수집한 메타데이터를 중앙에서 관리합니다.
  • Glue 데이터 크롤러는 S3, RDS, DynamoDB 등의 데이터 소스에서 메타데이터를 수집하여 데이터 카탈로그에 저장합니다.
  • Glue ETL 작업은 수집된 메타데이터를 사용하여 데이터를 변환하고 다양한 분석 도구(Athena, Redshift Spectrum, EMR)와 연동할 수 있습니다.

7 Glue 고급 기능

7.1 Glue Job Bookmarks

  • Glue Job Bookmarks는 이전에 처리된 데이터를 다시 처리하지 않도록 하여 효율성을 높입니다.

7.2 Glue Elastic Views

  • Glue Elastic Views는 SQL을 사용하여 여러 데이터 저장소 간에 데이터를 결합하고 복제할 수 있습니다.
  • 커스텀 코드 없이 Glue가 소스 데이터의 변경 사항을 모니터링하며 서버리스로 동작합니다.
  • "가상 테이블" (물리적 뷰)를 활용합니다.

7.3 Glue DataBrew

  • Glue DataBrew는 사전 구축된 변환을 사용하여 데이터를 정리하고 표준화할 수 있습니다.

7.4 Glue Studio

  • Glue Studio는 새로운 GUI를 통해 Glue에서 ETL 작업을 생성, 실행 및 모니터링할 수 있습니다.

7.5 Glue Streaming ETL

  • Glue Streaming ETL은 Apache Spark Structured Streaming을 기반으로 하여 Kinesis Data Streams, Kafka, MSK(Managed Kafka)와 호환됩니다.