Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS Data Pipeline VS AWS Glue : 어떻게 다를까요?
Search
yjsong
November 08, 2021
Programming
0
2.4k
AWS Data Pipeline VS AWS Glue : 어떻게 다를까요?
yjsong
November 08, 2021
Tweet
Share
More Decks by yjsong
See All by yjsong
210727
yjsong
0
860
Other Decks in Programming
See All in Programming
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
6.2k
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'"
philipschwarz
PRO
0
180
GoのWebAssembly活用パターン紹介
syumai
3
8.8k
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
110
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
460
XSLTで作るBrainfuck処理系
makki_d
0
180
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
100
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
16
3.5k
F#で自在につくる静的ブログサイト - 関数型まつり2025
pizzacat83
0
280
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
2
950
TypeScript を活かしてデザインシステム MCP を作る / #tskaigi_after_night
izumin5210
5
520
REST API設計の実践 – ベストプラクティスとその落とし穴
kentaroutakeda
2
360
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
640
Rails Girls Zürich Keynote
gr2m
94
14k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Automating Front-end Workflow
addyosmani
1370
200k
Raft: Consensus for Rubyists
vanstee
138
7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
GitHub's CSS Performance
jonrohan
1031
460k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Side Projects
sachag
454
42k
The Pragmatic Product Professional
lauravandoore
35
6.7k
BBQ
matthewcrist
89
9.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Transcript
AWS Data Pipeline VS AWS Glue 어떻게 다를까요? 송영진
발표자 소개 • 신입엔지니어, Classmethod(2020/04) • AWS를 이용한 데이터 분석,
기계학습에 관심
오늘의 이야기 • 다룰 내용 • ETL에 관한 이야기 •
AWS Data Pipeline과 AWS Glue의 개념과 특징 • 예시 아키텍처 • 다루지 않는 내용 • 데이터 분석에 대한 자세한 이야기 • 실제 코드 • 모든 기능의 설명
목차 • 배경지식 • AWS Data Pipeline이란? • AWS Glue란?
• 요약
왜 이런 주제?
ETL?
간단히 보는 데이터 분석의 흐름 •
ETL 난잡한 원시데이터에서 데이터 분석이 원활하게 할 수 있도록 분석하기
쉬운 데이터로 추출, 변환 시켜서 불러오는 작업
ETL 예시
그래서 같은 ETL 서비스인데 어떻게 다른가요?
AWS Data Pipeline 온프레미스 데이터 소스뿐 아니라 여러 AWS 컴퓨팅
및 스토리지 서비스 간에 데이터를 안정적으로 처리하고 지정된 간격으로 이동할 수 있게 지원하는 웹 서비스
Data Pipeline의 포인트 • AWS의 관리 서비스 • EC2 인스턴스
위에서 실행 • 노드 사이에서 데이터 마이그레이션 및 ETL 작업 수행 • 스케쥴러 기능(시간지정 및 사이클링 의존성 지정 등) • 온프레미스에서 AWS로 데이터 이동 가능
Data Pipeline의 구성요소
AWS의 관리 서비스 • 어려운 작업은 아니지만 직접 만들려면 귀찮음
• 작업을 수행하기 위한 환경 • 컴퓨팅 리소스 • 소프트웨어 • 스케쥴러(시계열 방식, 크론 방식) • 관리 및 유지보수
데이터 마이그레이션 및 ETL • 개발용 GUI 지원 • 대표적인
모델 템플릿 지원 • 자신이 사용하던 코드로 실행 시킬 수 있음 • EC2 인스턴스 또는 EMR 클러스터 위에서 수행됨 • 실패한 작업 자동으로 재실행
대표적인 사례 Amazon S3 Amazon S3
AWS Glue 완전 관리형 ETL 서비스로, 효율적인 비용으로 간단하게 여러
데이터 스토어 및 데이터 스트림 간에 원하는 데이터를 분류, 정리, 보강, 이동할 수 있게 지원하는 웹 서비스
Glue의 핵심 기능 • 테이블 • 데이터 카탈로그 • 데이터의
스키마 정보(칼럼, 데이터 형식)를 저장 • DB마다 관리 • 작업 • ETL처리의 실행기반 • 3종류 선택가능(Python Shell, Spark, Spark Streaming)
Glue의 특징 • 서버리스로 관리할 인프라가 없음 • 크롤러를 통해서
자동으로 스키마 생성 • GUI 클릭으로 자동으로 ETL 코드 자동 생성 및 수정 • 반정형 데이터를 관계형 데이터로 변환 가능 • 반복 일정과 이벤트에 따른 작업 실행 • Workflow, Step Functions를 통한 작업관리
자동으로 스키마 생성
Glue의 ETL 작업 수행과정 • 데이터의 원본을 크롤링하여 데이터 카탈로그에
메타데이터 생성 • 데이터 카탈로그의 정보를 바탕으로 작업 정의 • 정의된 작업에 따라서 ETL의 코드가 자동으로 생성 • 작업 실행으로 소스 데이터에서 추출, 변환하여 타겟으로 로드
Glue의 실행환경 및 구성요소
ETL의 예시
반정형 스키마에서 관계형 스키마로 변환
예시
Glue Job • 규모와 유형에 따라서 Python Shell, Spark, 스트리밍
ETL 선택 • 작업 제한시간 기본값 2880분 • 트리거를 사용하여 자동으로 작업 시작 가능 • 다양한 형식의 출력파일 : JSON, CSV, ORC, Apache Parquet 등 • 오류시 자동으로 재시도 • 엔드포인트를 사용하여 스크립트 개발 및 테스트 가능
Glue Job
Glue Workflow
요약 • AWS Data Pipeline • EC2 인스턴스 사용 •
데이터의 이동 및 변환 자동화 • 미리 작성된 템플릿 제공 • 온프레미스에서도 가능 • AWS Glue • 서버리스 • 데이터 카탈로그 수집 • 규모와 목적에 따른 작업 실행환경 선택 • ETL 코드 자동으로 생성 • 대부분의 Data Pipeline 기능 할 수 있음
감사합니다!