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.1k
AWS Data Pipeline VS AWS Glue : 어떻게 다를까요?
yjsong
November 08, 2021
Tweet
Share
More Decks by yjsong
See All by yjsong
210727
yjsong
0
740
Other Decks in Programming
See All in Programming
新宿ダンジョンを可視化してみた
satoshi7190
2
270
Anthropic Cookbook のおすすめレシピ
schroneko
7
1.1k
Deep Dive into React Stream/Serialize
mugi_uno
1
190
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
120
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
680
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
170
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
5
1.1k
Elm 0.19.0 Changes
bkuhlmann
0
490
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
840
2 週間で Twitter Bot を作ってみた
contour_gara
0
710
Apache Hive 4 on Treasure Data
ryukobayashi
0
380
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
660
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Optimising Largest Contentful Paint
csswizardry
11
2.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
123
39k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
It's Worth the Effort
3n
180
27k
The Cost Of JavaScript in 2023
addyosmani
18
3.9k
The Invisible Side of Design
smashingmag
294
49k
GitHub's CSS Performance
jonrohan
1025
450k
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 기능 할 수 있음
감사합니다!