Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS Data Pipeline VS AWS Glue : 어떻게 다를까요?

yjsong
November 08, 2021

AWS Data Pipeline VS AWS Glue : 어떻게 다를까요?

yjsong

November 08, 2021
Tweet

More Decks by yjsong

Other Decks in Programming

Transcript

  1. 오늘의 이야기 • 다룰 내용 • ETL에 관한 이야기 •

    AWS Data Pipeline과 AWS Glue의 개념과 특징 • 예시 아키텍처 • 다루지 않는 내용 • 데이터 분석에 대한 자세한 이야기 • 실제 코드 • 모든 기능의 설명
  2. ETL 난잡한 원시데이터에서 데이터 분석이 원활하게 할 수 있도록 분석하기

    쉬운 데이터로 추출, 변환 시켜서 불러오는 작업
  3. AWS Data Pipeline 온프레미스 데이터 소스뿐 아니라 여러 AWS 컴퓨팅

    및 스토리지 서비스 간에 데이터를 안정적으로 처리하고 지정된 간격으로 이동할 수 있게 지원하는 웹 서비스
  4. Data Pipeline의 포인트 • AWS의 관리 서비스 • EC2 인스턴스

    위에서 실행 • 노드 사이에서 데이터 마이그레이션 및 ETL 작업 수행 • 스케쥴러 기능(시간지정 및 사이클링 의존성 지정 등) • 온프레미스에서 AWS로 데이터 이동 가능
  5. AWS의 관리 서비스 • 어려운 작업은 아니지만 직접 만들려면 귀찮음

    • 작업을 수행하기 위한 환경 • 컴퓨팅 리소스 • 소프트웨어 • 스케쥴러(시계열 방식, 크론 방식) • 관리 및 유지보수
  6. 데이터 마이그레이션 및 ETL • 개발용 GUI 지원 • 대표적인

    모델 템플릿 지원 • 자신이 사용하던 코드로 실행 시킬 수 있음 • EC2 인스턴스 또는 EMR 클러스터 위에서 수행됨 • 실패한 작업 자동으로 재실행
  7. AWS Glue 완전 관리형 ETL 서비스로, 효율적인 비용으로 간단하게 여러

    데이터 스토어 및 데이터 스트림 간에 원하는 데이터를 분류, 정리, 보강, 이동할 수 있게 지원하는 웹 서비스
  8. Glue의 핵심 기능 • 테이블 • 데이터 카탈로그 • 데이터의

    스키마 정보(칼럼, 데이터 형식)를 저장 • DB마다 관리 • 작업 • ETL처리의 실행기반 • 3종류 선택가능(Python Shell, Spark, Spark Streaming)
  9. Glue의 특징 • 서버리스로 관리할 인프라가 없음 • 크롤러를 통해서

    자동으로 스키마 생성 • GUI 클릭으로 자동으로 ETL 코드 자동 생성 및 수정 • 반정형 데이터를 관계형 데이터로 변환 가능 • 반복 일정과 이벤트에 따른 작업 실행 • Workflow, Step Functions를 통한 작업관리
  10. Glue의 ETL 작업 수행과정 • 데이터의 원본을 크롤링하여 데이터 카탈로그에

    메타데이터 생성 • 데이터 카탈로그의 정보를 바탕으로 작업 정의 • 정의된 작업에 따라서 ETL의 코드가 자동으로 생성 • 작업 실행으로 소스 데이터에서 추출, 변환하여 타겟으로 로드
  11. Glue Job • 규모와 유형에 따라서 Python Shell, Spark, 스트리밍

    ETL 선택 • 작업 제한시간 기본값 2880분 • 트리거를 사용하여 자동으로 작업 시작 가능 • 다양한 형식의 출력파일 : JSON, CSV, ORC, Apache Parquet 등 • 오류시 자동으로 재시도 • 엔드포인트를 사용하여 스크립트 개발 및 테스트 가능
  12. 요약 • AWS Data Pipeline • EC2 인스턴스 사용 •

    데이터의 이동 및 변환 자동화 • 미리 작성된 템플릿 제공 • 온프레미스에서도 가능 • AWS Glue • 서버리스 • 데이터 카탈로그 수집 • 규모와 목적에 따른 작업 실행환경 선택 • ETL 코드 자동으로 생성 • 대부분의 Data Pipeline 기능 할 수 있음