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에서 뽑아내요라고 하신다면 특별히
관리할 필요가 없습니다.
● 단순한 데이터 추출이 아니라, 여러 데이터들이 연관관계를 가지거나,
중간 중간 변환되어 추출되어야 하는 경우.
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
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 은 짧은 시간 단위로 처리되
는 작업들을 의미한다.
32. Data 관리의 어려움
“엉망인 소스 데이터를
유용한 것으로 바꾸는 데 드는 시간이
데이터를 분석하는 나머지 시간을 합한 것보다 많다.”
- Pete Warden, Google Data Engineer
33. 너무 많은 Data Source
● 파일, RDBMS, HDFS, S3 등등등, 여러 Data
Source 에 데이터들이 저장되어 있어서 어디에 원하
는 데이터가 있는지 알기 어려움.
● Source of Truth, RDBMS 와 HDFS에 두군데에 데
이터가 있다면 어느 것이 원본인가?
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
37. Data Lake 에서 고민할 점 #1
● 여러 곳에 흩어져 있는 데이터를 모아서 한 곳에 처
리할 수 있도록 한다.
● 계속 계속 생성되는 새로운 테이블이나 데이터, 테이
블의 변경은 어떻게 관리할 수 있을까?
○ AWS Glue 서비스의 데이터 크롤링은 이런 변경
을 자동으로 찾아서 관리해주는 서비스