SlideShare a Scribd company logo
Data Engineering
Data Pipeline
Data Lake
강대명(charsyam@naver.com)
What is Data Engineering
● Data Engineer
○ 다른 사람들이 데이터를 사용하기 쉽도록 저장/수집하고 ETL 작업
등을 처리하는 직군, 로그 수집, 로그 정제
● Data Scientist
○ 데이터를 이용하여, 분석을 하거나, 추천등의 로직을 작성하는 직군
.
● Data Engineering
○ Data Scientist 들이 관련 작업을 쉽게 할 수 있도록 데이터를 수집/
정제하는 일련의 작업들
What is Data Pipeline?
● 우리는 단순히 몇가지 통계를 뽑지 않습니다.
○ UV, PV 등이면 충분해요.
○ 이러면 Data Pipeline 은 필요 없습니다.
● 또는 모든 데이터를 그냥 Raw Data에서 뽑아내요라고 하신다면 특별히
관리할 필요가 없습니다.
● 단순한 데이터 추출이 아니라, 여러 데이터들이 연관관계를 가지거나,
중간 중간 변환되어 추출되어야 하는 경우.
Pipeline
사전적 의미 : 배관
Data Pipeline
● 데이터 배관
● 각각의 파이프는 자신만의 결과물을 가진다.
Data Pipeline
Data Pipeline
쉽게 말하면 ETL(extract -> transform -> load) 작업의 연
속
추천 - Data Pipeline 의 예
우리는 얼굴 책이라는 SNS 서비스를 운영하고 있습니다.
그런데 사용자들의 좋아하는 성향에 따른 글들을 추천하
고 싶어요.
추천 - Data Pipeline 의 예
● Log 내용
○ 66.249.65.159 - - [06/Nov/2014:19:10:38 +0600] "GET /news/53f8d72920ba2744fe873ebc.html
HTTP/1.1" 404 177 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X)
AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
○ 66.249.65.3 - - [06/Nov/2014:19:11:24 +0600] "GET
/?q=%E0%A6%AB%E0%A6%BE%E0%A7%9F%E0%A6%BE%E0%A6%B0 HTTP/1.1" 200 4223 "-" "Mozilla/5.0
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
○ 66.249.65.62 - - [06/Nov/2014:19:12:14 +0600] "GET /?q=%E0%A6%A6%E0%A7%8B%E0%A7%9F%E0%A6%BE
HTTP/1.1" 200 4356 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;
+http://www.google.com/bot.html)"
Log 수집 #1
web001
web002
web003
web004
Mysql
Or
MongoDB
통계작업
Log 수집 #2
web001
web002
web003
web004
redis
Buffer 를 이용한 쓰기 효
율화(Write-Back)
Mysql
or
Mongodb
Log 수집 #3
web001
web002
web003
web004
Collector
hdfs
or
s3
scp
syslogd
or
logstash
통계작업
By Spark, Hive,
Presto, MR
추천 - Data Pipeline 의 예
정의(Justice Definition)가 중요하다!
사용자의 성향은 사용자가 올리는 글의 내용, 사진의 종류
에 따라서 결정된다.(가정 -> 이 것은 실험을 통해서 증명
하세요.)
추천 - Data Pipeline 의 예
● 사용자의 취향을 (인물, 자연, 음식등으로 구분한다.)
○ 업로드한 텍스트로 취향을 분석
○ 업로드한 사진으로 취향을 분석
추천 - Data Pipeline 의 예
● 추천한 글에 대한 반응을 업데이트 한다.
○ 추천한 글을 삭제하는가?
○ 추천한 글에 좋아요를 하는가?
추천 - 파이프 1
● 사용자가 어떤 작업을 했는지 모은다.(사용자마다)
○ 아기사진 글에 댓글 3회, 자연 글에 2회 좋아요.
○ 아기사진 업로드 2회,
● 모은 내용으로 어떤 점수와 성향을 만든다.
Calculate Users Characters
Log Aggreation Make Scores
추천 - 파이프 2
● 사용자의 추천된 글에 대한 반응을 분석한다.
○ 사용자에게 추천된 글중에서 반응이 좋은 글에 대
한 분석
○ 사용자에게 추천된 글중에서 반응이 나쁜 글에 대
한 분석Analysis Users Feedbacks
Analysis User Good/Bad FeedBacks
추천 - 파이프 3
● 새로 작성된 글이나 상품에 대한 정보를 평가한다.
○ 어느 성향의 유저들에게 인기가 좋았는지 또는 안
좋았는지
Analysis Item Character
Analysis Items
character
추천 - 파이프 4
● 유저에게 새로운 글이나 상품을 추천한다.
Recommand Item
Calculate item score for each users Get Top N
파이프 관계도
Calculate Users
Characters
Analysis Users
Feedbacks
Analysis Item
Character
Recommand Item
Data Pipeline
● 뭔가 필요한 데이터들을 단계별로 만들고, 이용하기
위해서 만들어진 작업들을 관리하는 것.
● 머신 러닝등을 위해서 이런 작업들을 하는 걸 머신러
닝 파이프라인이라고 하기도 합니다.
이게 하나의 파이프!!!
이런게 수십개가 생깁니다.
Data Pipeline 의 관리 포인트
● 파이프라인에서 에러가 발생하면?
○ 누가 재시작해야 할까요?
● 매일 실행되거나, 특정시간에 돌아야 하는것들이면?
● 그래서 데이터 워크플로우 관리툴을 씁니다.
● 작업 마다 필요한 컴퓨팅 파워(메모리/CPU)가 다르다
.
데이터 워크플로우 관리툴
● Pinball, Airflow, Luigi
○ 여기서는 각각의 특징이나 장단점을 비교하지 않
습니다.
■ 저도 모르기 때문이지요.
○ 특정 시간, 실패했을 때, 재 반복등을 대신해줍니다
.
Data Pipeline 의 관리의 어려움
● 파이프라인이 계속 재시작 되어야 하면 전체 처리용
량이 부족할 수 있습니다.
● 재시작이 코드의 버그를 수정해 주지는 않습니다.
○ 내가 만든 코드가 아닌데, 개수가 10개를 넘어야
한다고 했는데 9개면... 이게 정상일까 실패일까?
Batch Data Pipeline, Realtime Data Pipeline
● Batch Data Pipeline 은 하루나 몇시간 단위의 데이터
단위로 처리
● Realtime Data Pipeline 은 짧은 시간 단위로 처리되
는 작업들을 의미한다.
Realtime Data Pipeline
web001
web002
web003
web004
kafka
syslogd
or
logstash
통계작업
Spark
Streaming
Lambda Architecture
Kappa Architecture
Data Lake
● 번역 : 호수
○ 내 마음은 호수요. 그대 노 저어 오오!(내마음/김동
명)
Data 관리의 어려움
“엉망인 소스 데이터를
유용한 것으로 바꾸는 데 드는 시간이
데이터를 분석하는 나머지 시간을 합한 것보다 많다.”
- Pete Warden, Google Data Engineer
너무 많은 Data Source
● 파일, RDBMS, HDFS, S3 등등등, 여러 Data
Source 에 데이터들이 저장되어 있어서 어디에 원하
는 데이터가 있는지 알기 어려움.
● Source of Truth, RDBMS 와 HDFS에 두군데에 데
이터가 있다면 어느 것이 원본인가?
Data Lake
● 여러 데이터 소스를 하나로 관리
Data Warehouse VS Data Lake
Data Warehouse vs Data Lake
structured, processed DATA structured semi-structured
unstructured, raw
schema-on-write PROCESSING schema-on-read
expensive for large data
volumes
STORAGE designed for low cost storage
less-agile, fixed configuration AGILITY highly agile, configure and
reconfigure as needed
mature SECURITY maturing
business professionals USERS data scientists et.al
Schema on Read, Schema on Write
Data Lake 에서 고민할 점 #1
● 여러 곳에 흩어져 있는 데이터를 모아서 한 곳에 처
리할 수 있도록 한다.
● 계속 계속 생성되는 새로운 테이블이나 데이터, 테이
블의 변경은 어떻게 관리할 수 있을까?
○ AWS Glue 서비스의 데이터 크롤링은 이런 변경
을 자동으로 찾아서 관리해주는 서비스
Data Lake 에서 고민할 점 #2
● 쓰레기 데이터들이 계속해서 쌓일 수 있다.
Thank you!

More Related Content

What's hot

How to build massive service for advance
How to build massive service for advanceHow to build massive service for advance
How to build massive service for advance
DaeMyung Kang
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
Hyojun Jeon
 
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
Yooseok Choi
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
Hyojun Jeon
 
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
Amazon Web Services Korea
 
인공지능추천시스템 airs개발기_모델링과시스템
인공지능추천시스템 airs개발기_모델링과시스템인공지능추천시스템 airs개발기_모델링과시스템
인공지능추천시스템 airs개발기_모델링과시스템
NAVER D2
 
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Amazon Web Services Korea
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
Seongyun Byeon
 
데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립
승화 양
 
데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.
Yongho Ha
 
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
NAVER D2
 
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
Minwoo Kim
 
Google Cloud IAM 계정, 권한 및 조직 관리
Google Cloud IAM 계정, 권한 및 조직 관리Google Cloud IAM 계정, 권한 및 조직 관리
Google Cloud IAM 계정, 권한 및 조직 관리
정명훈 Jerry Jeong
 
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
Juhong Park
 
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영
NAVER D2
 
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
AWSKRUG - AWS한국사용자모임
 
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
Yongho Ha
 
좌충우돌 Data Engineering 학습기
좌충우돌 Data Engineering 학습기좌충우돌 Data Engineering 학습기
좌충우돌 Data Engineering 학습기
DONGMIN LEE
 
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020 AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWSKRUG - AWS한국사용자모임
 
장바구니를 든 데이터 사이언티스트
장바구니를 든 데이터 사이언티스트장바구니를 든 데이터 사이언티스트
장바구니를 든 데이터 사이언티스트
Dennis Lee
 

What's hot (20)

How to build massive service for advance
How to build massive service for advanceHow to build massive service for advance
How to build massive service for advance
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
 
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
 
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
 
인공지능추천시스템 airs개발기_모델링과시스템
인공지능추천시스템 airs개발기_모델링과시스템인공지능추천시스템 airs개발기_모델링과시스템
인공지능추천시스템 airs개발기_모델링과시스템
 
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
 
데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립
 
데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.
 
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
 
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
 
Google Cloud IAM 계정, 권한 및 조직 관리
Google Cloud IAM 계정, 권한 및 조직 관리Google Cloud IAM 계정, 권한 및 조직 관리
Google Cloud IAM 계정, 권한 및 조직 관리
 
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
 
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영
 
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
 
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
 
좌충우돌 Data Engineering 학습기
좌충우돌 Data Engineering 학습기좌충우돌 Data Engineering 학습기
좌충우돌 Data Engineering 학습기
 
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020 AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
 
장바구니를 든 데이터 사이언티스트
장바구니를 든 데이터 사이언티스트장바구니를 든 데이터 사이언티스트
장바구니를 든 데이터 사이언티스트
 

Similar to Data pipeline and data lake

Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical Methodology
KyeongUkJang
 
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System
Kwangseob Kim
 
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System
Kwangseob Kim
 
How to Create Value from Data, and Its Difficulty
How to Create Value from Data, and Its DifficultyHow to Create Value from Data, and Its Difficulty
How to Create Value from Data, and Its Difficulty
Dataya Nolja
 
Apache Tajo 프로젝트 소개 및 최신 기술동향
Apache Tajo 프로젝트 소개 및 최신 기술동향Apache Tajo 프로젝트 소개 및 최신 기술동향
Apache Tajo 프로젝트 소개 및 최신 기술동향
Jihoon Son
 
데이터분석의 길 5: “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)
데이터분석의 길 5:  “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)데이터분석의 길 5:  “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)
데이터분석의 길 5: “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)
Jaimie Kwon (권재명)
 
빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)
Channy Yun
 
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
BOAZ Bigdata
 
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
Wonha Ryu
 
서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해
중선 곽
 
빅데이터 솔루션 소개서(2013년 05월)
빅데이터 솔루션 소개서(2013년 05월)빅데이터 솔루션 소개서(2013년 05월)
빅데이터 솔루션 소개서(2013년 05월)
동학 노
 
[AWSKRUG] 데이터 얼마까지 알아보셨어요?
[AWSKRUG] 데이터 얼마까지 알아보셨어요?[AWSKRUG] 데이터 얼마까지 알아보셨어요?
[AWSKRUG] 데이터 얼마까지 알아보셨어요?
Yan So
 
Pycon2017 이성용 Dances with the Last Samurai
Pycon2017 이성용 Dances with the Last SamuraiPycon2017 이성용 Dances with the Last Samurai
Pycon2017 이성용 Dances with the Last Samurai
SungYong Lee
 
SQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouseSQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouse
NAVER Engineering
 
데이터를 비즈니스에 활용하기 왜 어려울까?
데이터를 비즈니스에 활용하기 왜 어려울까?데이터를 비즈니스에 활용하기 왜 어려울까?
데이터를 비즈니스에 활용하기 왜 어려울까?
Glen Park
 
Tableau 사용자를 위한 데이터 블렌딩 with alteryx
Tableau 사용자를 위한 데이터 블렌딩 with alteryxTableau 사용자를 위한 데이터 블렌딩 with alteryx
Tableau 사용자를 위한 데이터 블렌딩 with alteryx
Pikdata Inc.
 
추천시스템 구축을 위한 빅데이터 분석기법과 사례
추천시스템 구축을 위한 빅데이터 분석기법과 사례추천시스템 구축을 위한 빅데이터 분석기법과 사례
추천시스템 구축을 위한 빅데이터 분석기법과 사례
HELENA LEE
 
[자바카페] 람다 일괄처리 계층
[자바카페] 람다 일괄처리 계층[자바카페] 람다 일괄처리 계층
[자바카페] 람다 일괄처리 계층
용호 최
 
추천서비스고군분투기 On Aws - 박진우 (레코벨)
추천서비스고군분투기 On Aws - 박진우 (레코벨)추천서비스고군분투기 On Aws - 박진우 (레코벨)
추천서비스고군분투기 On Aws - 박진우 (레코벨)
AWSKRUG - AWS한국사용자모임
 
Datawarehouse를 이용한 데이터 블렌딩
Datawarehouse를 이용한 데이터 블렌딩Datawarehouse를 이용한 데이터 블렌딩
Datawarehouse를 이용한 데이터 블렌딩
Pikdata Inc.
 

Similar to Data pipeline and data lake (20)

Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical Methodology
 
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System
 
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System
 
How to Create Value from Data, and Its Difficulty
How to Create Value from Data, and Its DifficultyHow to Create Value from Data, and Its Difficulty
How to Create Value from Data, and Its Difficulty
 
Apache Tajo 프로젝트 소개 및 최신 기술동향
Apache Tajo 프로젝트 소개 및 최신 기술동향Apache Tajo 프로젝트 소개 및 최신 기술동향
Apache Tajo 프로젝트 소개 및 최신 기술동향
 
데이터분석의 길 5: “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)
데이터분석의 길 5:  “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)데이터분석의 길 5:  “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)
데이터분석의 길 5: “고수는 큰자료를 두려워하지 않는다” (클릭확률예측 상편)
 
빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)
 
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [백발백준] : 백준봇 : 컨테이너 오케스트레이션 기반 백준 문제 추천 봇
 
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
 
서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해
 
빅데이터 솔루션 소개서(2013년 05월)
빅데이터 솔루션 소개서(2013년 05월)빅데이터 솔루션 소개서(2013년 05월)
빅데이터 솔루션 소개서(2013년 05월)
 
[AWSKRUG] 데이터 얼마까지 알아보셨어요?
[AWSKRUG] 데이터 얼마까지 알아보셨어요?[AWSKRUG] 데이터 얼마까지 알아보셨어요?
[AWSKRUG] 데이터 얼마까지 알아보셨어요?
 
Pycon2017 이성용 Dances with the Last Samurai
Pycon2017 이성용 Dances with the Last SamuraiPycon2017 이성용 Dances with the Last Samurai
Pycon2017 이성용 Dances with the Last Samurai
 
SQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouseSQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouse
 
데이터를 비즈니스에 활용하기 왜 어려울까?
데이터를 비즈니스에 활용하기 왜 어려울까?데이터를 비즈니스에 활용하기 왜 어려울까?
데이터를 비즈니스에 활용하기 왜 어려울까?
 
Tableau 사용자를 위한 데이터 블렌딩 with alteryx
Tableau 사용자를 위한 데이터 블렌딩 with alteryxTableau 사용자를 위한 데이터 블렌딩 with alteryx
Tableau 사용자를 위한 데이터 블렌딩 with alteryx
 
추천시스템 구축을 위한 빅데이터 분석기법과 사례
추천시스템 구축을 위한 빅데이터 분석기법과 사례추천시스템 구축을 위한 빅데이터 분석기법과 사례
추천시스템 구축을 위한 빅데이터 분석기법과 사례
 
[자바카페] 람다 일괄처리 계층
[자바카페] 람다 일괄처리 계층[자바카페] 람다 일괄처리 계층
[자바카페] 람다 일괄처리 계층
 
추천서비스고군분투기 On Aws - 박진우 (레코벨)
추천서비스고군분투기 On Aws - 박진우 (레코벨)추천서비스고군분투기 On Aws - 박진우 (레코벨)
추천서비스고군분투기 On Aws - 박진우 (레코벨)
 
Datawarehouse를 이용한 데이터 블렌딩
Datawarehouse를 이용한 데이터 블렌딩Datawarehouse를 이용한 데이터 블렌딩
Datawarehouse를 이용한 데이터 블렌딩
 

More from DaeMyung Kang

Count min sketch
Count min sketchCount min sketch
Count min sketch
DaeMyung Kang
 
Redis
RedisRedis
Ansible
AnsibleAnsible
Ansible
DaeMyung Kang
 
Why GUID is needed
Why GUID is neededWhy GUID is needed
Why GUID is needed
DaeMyung Kang
 
How to use redis well
How to use redis wellHow to use redis well
How to use redis well
DaeMyung Kang
 
The easiest consistent hashing
The easiest consistent hashingThe easiest consistent hashing
The easiest consistent hashing
DaeMyung Kang
 
How to name a cache key
How to name a cache keyHow to name a cache key
How to name a cache key
DaeMyung Kang
 
Integration between Filebeat and logstash
Integration between Filebeat and logstash Integration between Filebeat and logstash
Integration between Filebeat and logstash
DaeMyung Kang
 
Massive service basic
Massive service basicMassive service basic
Massive service basic
DaeMyung Kang
 
How To Become Better Engineer
How To Become Better EngineerHow To Become Better Engineer
How To Become Better Engineer
DaeMyung Kang
 
Kafka timestamp offset_final
Kafka timestamp offset_finalKafka timestamp offset_final
Kafka timestamp offset_final
DaeMyung Kang
 
Kafka timestamp offset
Kafka timestamp offsetKafka timestamp offset
Kafka timestamp offset
DaeMyung Kang
 
Redis acl
Redis aclRedis acl
Redis acl
DaeMyung Kang
 
Coffee store
Coffee storeCoffee store
Coffee store
DaeMyung Kang
 
Scalable webservice
Scalable webserviceScalable webservice
Scalable webservice
DaeMyung Kang
 
Number system
Number systemNumber system
Number system
DaeMyung Kang
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbie
DaeMyung Kang
 
Internet Scale Service Arichitecture
Internet Scale Service ArichitectureInternet Scale Service Arichitecture
Internet Scale Service Arichitecture
DaeMyung Kang
 
Bloomfilter
BloomfilterBloomfilter
Bloomfilter
DaeMyung Kang
 
Redis From 2.8 to 4.x(unstable)
Redis From 2.8 to 4.x(unstable)Redis From 2.8 to 4.x(unstable)
Redis From 2.8 to 4.x(unstable)
DaeMyung Kang
 

More from DaeMyung Kang (20)

Count min sketch
Count min sketchCount min sketch
Count min sketch
 
Redis
RedisRedis
Redis
 
Ansible
AnsibleAnsible
Ansible
 
Why GUID is needed
Why GUID is neededWhy GUID is needed
Why GUID is needed
 
How to use redis well
How to use redis wellHow to use redis well
How to use redis well
 
The easiest consistent hashing
The easiest consistent hashingThe easiest consistent hashing
The easiest consistent hashing
 
How to name a cache key
How to name a cache keyHow to name a cache key
How to name a cache key
 
Integration between Filebeat and logstash
Integration between Filebeat and logstash Integration between Filebeat and logstash
Integration between Filebeat and logstash
 
Massive service basic
Massive service basicMassive service basic
Massive service basic
 
How To Become Better Engineer
How To Become Better EngineerHow To Become Better Engineer
How To Become Better Engineer
 
Kafka timestamp offset_final
Kafka timestamp offset_finalKafka timestamp offset_final
Kafka timestamp offset_final
 
Kafka timestamp offset
Kafka timestamp offsetKafka timestamp offset
Kafka timestamp offset
 
Redis acl
Redis aclRedis acl
Redis acl
 
Coffee store
Coffee storeCoffee store
Coffee store
 
Scalable webservice
Scalable webserviceScalable webservice
Scalable webservice
 
Number system
Number systemNumber system
Number system
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbie
 
Internet Scale Service Arichitecture
Internet Scale Service ArichitectureInternet Scale Service Arichitecture
Internet Scale Service Arichitecture
 
Bloomfilter
BloomfilterBloomfilter
Bloomfilter
 
Redis From 2.8 to 4.x(unstable)
Redis From 2.8 to 4.x(unstable)Redis From 2.8 to 4.x(unstable)
Redis From 2.8 to 4.x(unstable)
 

Data pipeline and data lake

  • 1. Data Engineering Data Pipeline Data Lake 강대명(charsyam@naver.com)
  • 2. What is Data Engineering ● Data Engineer ○ 다른 사람들이 데이터를 사용하기 쉽도록 저장/수집하고 ETL 작업 등을 처리하는 직군, 로그 수집, 로그 정제 ● Data Scientist ○ 데이터를 이용하여, 분석을 하거나, 추천등의 로직을 작성하는 직군 . ● Data Engineering ○ Data Scientist 들이 관련 작업을 쉽게 할 수 있도록 데이터를 수집/ 정제하는 일련의 작업들
  • 3. What is Data Pipeline? ● 우리는 단순히 몇가지 통계를 뽑지 않습니다. ○ UV, PV 등이면 충분해요. ○ 이러면 Data Pipeline 은 필요 없습니다. ● 또는 모든 데이터를 그냥 Raw Data에서 뽑아내요라고 하신다면 특별히 관리할 필요가 없습니다. ● 단순한 데이터 추출이 아니라, 여러 데이터들이 연관관계를 가지거나, 중간 중간 변환되어 추출되어야 하는 경우.
  • 5. Data Pipeline ● 데이터 배관 ● 각각의 파이프는 자신만의 결과물을 가진다.
  • 7. Data Pipeline 쉽게 말하면 ETL(extract -> transform -> load) 작업의 연 속
  • 8. 추천 - Data Pipeline 의 예 우리는 얼굴 책이라는 SNS 서비스를 운영하고 있습니다. 그런데 사용자들의 좋아하는 성향에 따른 글들을 추천하 고 싶어요.
  • 9. 추천 - Data Pipeline 의 예 ● Log 내용 ○ 66.249.65.159 - - [06/Nov/2014:19:10:38 +0600] "GET /news/53f8d72920ba2744fe873ebc.html HTTP/1.1" 404 177 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" ○ 66.249.65.3 - - [06/Nov/2014:19:11:24 +0600] "GET /?q=%E0%A6%AB%E0%A6%BE%E0%A7%9F%E0%A6%BE%E0%A6%B0 HTTP/1.1" 200 4223 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" ○ 66.249.65.62 - - [06/Nov/2014:19:12:14 +0600] "GET /?q=%E0%A6%A6%E0%A7%8B%E0%A7%9F%E0%A6%BE HTTP/1.1" 200 4356 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
  • 11. Log 수집 #2 web001 web002 web003 web004 redis Buffer 를 이용한 쓰기 효 율화(Write-Back) Mysql or Mongodb
  • 13. 추천 - Data Pipeline 의 예 정의(Justice Definition)가 중요하다! 사용자의 성향은 사용자가 올리는 글의 내용, 사진의 종류 에 따라서 결정된다.(가정 -> 이 것은 실험을 통해서 증명 하세요.)
  • 14. 추천 - Data Pipeline 의 예 ● 사용자의 취향을 (인물, 자연, 음식등으로 구분한다.) ○ 업로드한 텍스트로 취향을 분석 ○ 업로드한 사진으로 취향을 분석
  • 15. 추천 - Data Pipeline 의 예 ● 추천한 글에 대한 반응을 업데이트 한다. ○ 추천한 글을 삭제하는가? ○ 추천한 글에 좋아요를 하는가?
  • 16. 추천 - 파이프 1 ● 사용자가 어떤 작업을 했는지 모은다.(사용자마다) ○ 아기사진 글에 댓글 3회, 자연 글에 2회 좋아요. ○ 아기사진 업로드 2회, ● 모은 내용으로 어떤 점수와 성향을 만든다. Calculate Users Characters Log Aggreation Make Scores
  • 17. 추천 - 파이프 2 ● 사용자의 추천된 글에 대한 반응을 분석한다. ○ 사용자에게 추천된 글중에서 반응이 좋은 글에 대 한 분석 ○ 사용자에게 추천된 글중에서 반응이 나쁜 글에 대 한 분석Analysis Users Feedbacks Analysis User Good/Bad FeedBacks
  • 18. 추천 - 파이프 3 ● 새로 작성된 글이나 상품에 대한 정보를 평가한다. ○ 어느 성향의 유저들에게 인기가 좋았는지 또는 안 좋았는지 Analysis Item Character Analysis Items character
  • 19. 추천 - 파이프 4 ● 유저에게 새로운 글이나 상품을 추천한다. Recommand Item Calculate item score for each users Get Top N
  • 20. 파이프 관계도 Calculate Users Characters Analysis Users Feedbacks Analysis Item Character Recommand Item
  • 21. Data Pipeline ● 뭔가 필요한 데이터들을 단계별로 만들고, 이용하기 위해서 만들어진 작업들을 관리하는 것. ● 머신 러닝등을 위해서 이런 작업들을 하는 걸 머신러 닝 파이프라인이라고 하기도 합니다.
  • 24. Data Pipeline 의 관리 포인트 ● 파이프라인에서 에러가 발생하면? ○ 누가 재시작해야 할까요? ● 매일 실행되거나, 특정시간에 돌아야 하는것들이면? ● 그래서 데이터 워크플로우 관리툴을 씁니다. ● 작업 마다 필요한 컴퓨팅 파워(메모리/CPU)가 다르다 .
  • 25. 데이터 워크플로우 관리툴 ● Pinball, Airflow, Luigi ○ 여기서는 각각의 특징이나 장단점을 비교하지 않 습니다. ■ 저도 모르기 때문이지요. ○ 특정 시간, 실패했을 때, 재 반복등을 대신해줍니다 .
  • 26. Data Pipeline 의 관리의 어려움 ● 파이프라인이 계속 재시작 되어야 하면 전체 처리용 량이 부족할 수 있습니다. ● 재시작이 코드의 버그를 수정해 주지는 않습니다. ○ 내가 만든 코드가 아닌데, 개수가 10개를 넘어야 한다고 했는데 9개면... 이게 정상일까 실패일까?
  • 27. Batch Data Pipeline, Realtime Data Pipeline ● Batch Data Pipeline 은 하루나 몇시간 단위의 데이터 단위로 처리 ● Realtime Data Pipeline 은 짧은 시간 단위로 처리되 는 작업들을 의미한다.
  • 31. Data Lake ● 번역 : 호수 ○ 내 마음은 호수요. 그대 노 저어 오오!(내마음/김동 명)
  • 32. Data 관리의 어려움 “엉망인 소스 데이터를 유용한 것으로 바꾸는 데 드는 시간이 데이터를 분석하는 나머지 시간을 합한 것보다 많다.” - Pete Warden, Google Data Engineer
  • 33. 너무 많은 Data Source ● 파일, RDBMS, HDFS, S3 등등등, 여러 Data Source 에 데이터들이 저장되어 있어서 어디에 원하 는 데이터가 있는지 알기 어려움. ● Source of Truth, RDBMS 와 HDFS에 두군데에 데 이터가 있다면 어느 것이 원본인가?
  • 34. Data Lake ● 여러 데이터 소스를 하나로 관리
  • 35. Data Warehouse VS Data Lake Data Warehouse vs Data Lake structured, processed DATA structured semi-structured unstructured, raw schema-on-write PROCESSING schema-on-read expensive for large data volumes STORAGE designed for low cost storage less-agile, fixed configuration AGILITY highly agile, configure and reconfigure as needed mature SECURITY maturing business professionals USERS data scientists et.al
  • 36. Schema on Read, Schema on Write
  • 37. Data Lake 에서 고민할 점 #1 ● 여러 곳에 흩어져 있는 데이터를 모아서 한 곳에 처 리할 수 있도록 한다. ● 계속 계속 생성되는 새로운 테이블이나 데이터, 테이 블의 변경은 어떻게 관리할 수 있을까? ○ AWS Glue 서비스의 데이터 크롤링은 이런 변경 을 자동으로 찾아서 관리해주는 서비스
  • 38. Data Lake 에서 고민할 점 #2 ● 쓰레기 데이터들이 계속해서 쌓일 수 있다.