SlideShare une entreprise Scribd logo
1  sur  31
엔지니어 관점에서 바라본
데이터 시각화
`
Speaker
• 한성민
• IGAWorks 개발 팀장
• Business Intelligence 서비스 만들고 있어요♥
Introduction
• Data visualization
• BI(Business Intelligence)
Data visualization
추구하는 것
현실
• 우리가 늘상 하는 것
Types
• Summary spark line
• Bar chart
• Line chart
• Area chart
• Bubble chart
• Pie chart
• Radar chart
• Could word
• Funnel
• Heatmap
• Stock chart
• Scatter
• Flame chart
• Message flow chart
• Matrix chart
…
많아요
D3에서 지원하는 차트중 일부만 해도..
데이터분석가를 위한 서비스도 많습니다.
Jupyter with plotly shiny from R studio
데이터 시각화를 바라보는 관점
백엔드 개발자, 엔지니어
정형화? 비정형화?
groupby 하는가?
drilldown은 얼마나?
데이터의 양은 얼마나?
batch? ad-hoc? stream?
데이터를 어디로 넘겨주어야 하나
cache는 어디까지?
로그 어디다가 쌓을까요?
제플린 띄워서 날로 먹자
데이터 사이언티스트
matplotlib, numpy 짱짱맨
cluster 분포는 잘 되어있나?
각 step별 정확도 변화를
시각적으로 파악
실제 데이터와 예측된 데이터의
차이점을 시각적으로 파악
헠헠 라벨을 보자!
마케터
날짜별 DAU가 얼마지?
날짜별로 어뷰징 예상유저 비율은?
게임에서 딸기를 먹은 유저 모수가 필요해
A 광고에서 들어와서 게임을 설치하여
3스테이지까지 완료한 사용자의 평균 결제금액은
프론트 개발자
D3 쓸까 highchart 쓸까
canvas or svg?
raphael을 써야하나
이건 지원안해요 직접 만들어야 해요!!
그들이 실제로 사용하는 것
백엔드 개발자, 엔지니어
RDBMS, NoSQL, DW, Query
engine
Hadoop layer (cf. Spark, Impala,
Pig)
Cloud based database
ETL Process
Workflow
…
데이터 사이언티스트
iPython, Jupyter
TensorBoard
matplotlib, numpy
geoplotlib
seaborn
gleam
ggplot2
plotly
R
…
마케터
Tableau
PowerBI
Google Data Studio
…
프론트 개발자
D3, C3, NSD3
Raphael
Datatable
…
데이터 시각화 작업 흐름도
x field
y field
size
legend
axes
extraformat
4. parameters
label
type
3. post-process
groupby
orderby
filter
pivot
prediction
5. result2. datasource1. gathering /
crawling
1. gathering / crawling
• 의미있는 데이터의 최소단위로 중복 없이 끌어와야 함.
• 이미 로그파일이 있다면 Batch를 통해 의미있는 데이터 가공.
• 이미 데이터가 Database, Search Engine에 있다면 Workflow를 통해 수집.
• Phantom.js, Scrapy, Apache Mhaout 등의 오픈소스를 이용해 크롤링.
• 공유된 머신러닝 데이터 시트등을 직접 수집하여 업로드.
시각화할 데이터를 수집하는 단계
2. data source
• 중복 없는, 같은 포맷의 데이터
• 알려진 형식의 데이터파일 (CSV, TSV, JSON, …)
• field와 value로 구성된 dataframe (date: 2017-10-13, column1: 6.2)
• 원격 파일의 경우 알려진 프로토콜의 접근형식 (http, jdbc, thrift,
protobuf, …)
• 데이터소스가 데이터베이스라면 RDBMS인지 NoSQL인지, DW인지
파악이 필요
• 비정형화 데이터라면 데이터를 접근할 수 있는 metadata가 있는지 파악
시각화할 대상의 데이터
3. post-process
• groupby: 데이터 유사한 필드를 가진 여러 행을 하나의 행으로 묶는 과정 (ex. relational
chart)
• orderby: 특정 필드 기준으로 데이터 순서를 정렬하는 과정
• filter: 조건에 맞는 행만 추출하는 과정 (ex. interaction navigating chart)
• pivot: groupby와 유사하지만 유사한 필드를 가진 여러행을 묶어 각 열로 피벗
• prediction: 현재 가지고 있는 데이터를 바탕으로 예측되는 데이터를 만들어내어
Trendline 혹은 또 다른 축으로 추가 (linear, exponential)
데이터소스의 데이터를 후가공하는 과정
4. parameters
• xfield: x 필드의 값 (line, area, scatter, matrix, bubble)
• yfield: y 필드의 값 (line, area, scatter, matrix, bubble)
• value: 일반적인 값
• size: 특정 좌표의 bullet의 가중치 (크기 혹은 색상의 진하기)
• format: 값의 형식 (number, date: yyyy-MM-dd, …)
• legend: 범례
• label: 특정 좌표의 bullet의 text
• axes: 차트의 축
• extra: 추가적인 정보들 (각 영역별 관계, 순서, z 값, …)
차트 타입별로 요구되는 각각의 속성들
5. result legend group A group B
x label
y label
axes
dot, bullet
size (size)
size (opacity)
x: 7.2, y: 4.6
balloon
10.624
label
guideline
데이터 시각화 까지..
data source
Log
File
S3
(CSV,
RCFile)
Cloud
Storage
(CSV,
RCFile)
Database
ETL / UNLOAD
readable file
CSV TXT JSON TSV
Read
post-process, rendering
python R Query
Java
(Scala)
Painting
result
Image
Table
(Text)
Canvas
SVG
OpenGL
WebGL
gathering / crawling
Apache
Mahout
phantom R
Logs /
Queue
Gathering / Crawling
DW / OLAP / RawFile
Presto Impala CSV
Databa
se
Query / Decompress
Business Intelligence
BI (Business Intelligence)
• 앞서 보셨듯이 데이터에서 의미있는 값을 도출해내는 과정이 복잡함.
• 이 과정을 조금 더 쉽게하는 도구를 만듦.
• 그것이 Business Intelligence.
Apache incubator project Superset
BI에서의 데이터 시각화
data source
BI integrated store
ETL / UNLOAD
(BI handle)
readable file
CSV TXT JSON TSV
Read
(BI handle)
user interface
dimension metric filter options
Painting
result
Image
Table
(Text)
Canvas
SVG
OpenGL
WebGL
gathering / crawling
Apache
Mahout
phantom R
Logs /
Queue
Integrated API / Upload
(BI handle)
DW / OLAP / RawFile
Presto Impala CSV
Databa
se
Query / Decompress
(BI handle or direct query)
post-process, rendering
python R Query
Java
(Scala)
Convert
회색으로 변한 작업들이 모두 생략됨!
증말 편해요
여러분이 많이쓰시는 제플린도 Business Intelligence 입니다.
Apache project Zeppelin
Zeppelin Architecture
data source
Log
File
S3
(CSV,
RCFile)
Cloud
Storage
(CSV,
RCFile)
Database
ETL / UNLOAD
(BI handle)
interpreters
spark jdbc flink file
Read Painting
result
gathering / crawling
Apache
Mahout
phantom R
Logs /
Queue
Gathering / Crawling
(Add connection)
DW / OLAP / RawFile
Presto Impala CSV
Databa
se
Query / Decompress
user interface
where
filter
post-process, rendering
python R Query
Java
(Scala)
Convert
chart type
CANVAS
SVG
Table
(Text)
Zeppelin Interpreter
런칭을 앞둔 BI
런칭이 한달도 남지 않은 Business Intelligence 솔루션
Campaign Intelligence from IGAWorks
고군분투
• 반복된 일로 고단한 불쌍한 마케터를 위한 BI를 설계함.
• 그러면서도 개발자를 위해 Query, data append API를 열어둠.
• 여러 데이터소스 타입을 지원하기 위해 추상체를 쌓아올림.
BI에서의 데이터 시각화
ETL / UNLOAD
(BI handle)
readable file
CSV TXT JSON TSV
Read
(BI handle)
user interface
dimension metric filter options
Painting
result
Image
Table
(Text)
Canvas
SVG
OpenGL
WebGL
integrated datasource
Google
Adword
s
Facebook
Insight
Google
Youtube
Data API
Mobile
Index
Integrated API / Upload
(BI handle)
DW / OLAP / RawFile
Presto Impala CSV
Databa
se
Query / Decompress
(BI handle or direct query)
post-process, rendering
python R Query
Java
(Scala)
Convert
회색으로 변한 작업들이 모두 생략됨!
data source
BI integrated store
끝으로
genetic algorithm with airfoil
graph visualization in TensorBoard
Question?
Thank you!

Contenu connexe

Tendances

Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Channy Yun
 
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106SangHoon Lee
 
Data analysis with Tajo
Data analysis with TajoData analysis with Tajo
Data analysis with TajoGruter
 
Introduction to Apache Tajo
Introduction to Apache TajoIntroduction to Apache Tajo
Introduction to Apache TajoGruter
 
Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum DNA
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWSMatthew (정재화)
 
Data pipeline and data lake
Data pipeline and data lakeData pipeline and data lake
Data pipeline and data lakeDaeMyung Kang
 
The MongoDB Strikes Back / MongoDB 의 역습
The MongoDB Strikes Back / MongoDB 의 역습The MongoDB Strikes Back / MongoDB 의 역습
The MongoDB Strikes Back / MongoDB 의 역습Hyun-woo Park
 
Spark은 왜 이렇게 유명해지고 있을까?
Spark은 왜 이렇게  유명해지고 있을까?Spark은 왜 이렇게  유명해지고 있을까?
Spark은 왜 이렇게 유명해지고 있을까?KSLUG
 
[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips & tricks(송기수)
[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips & tricks(송기수)[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips & tricks(송기수)
[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips & tricks(송기수)Sang Don Kim
 
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun KimDeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun KimGruter
 
분석가를 위한 Aws 기반의 digital 플랫폼 구축
분석가를 위한 Aws 기반의 digital 플랫폼 구축분석가를 위한 Aws 기반의 digital 플랫폼 구축
분석가를 위한 Aws 기반의 digital 플랫폼 구축Nak Joo Kwon
 
234 deview2013 김형준
234 deview2013 김형준234 deview2013 김형준
234 deview2013 김형준NAVER D2
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기AWSKRUG - AWS한국사용자모임
 
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계PgDay.Seoul
 
Gruter TECHDAY 2014 MelOn BigData
Gruter TECHDAY 2014 MelOn BigDataGruter TECHDAY 2014 MelOn BigData
Gruter TECHDAY 2014 MelOn BigDataGruter
 
[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDWPgDay.Seoul
 
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개Gruter
 
빅데이터 인공지능 전략 및 로드맵
빅데이터 인공지능 전략 및 로드맵빅데이터 인공지능 전략 및 로드맵
빅데이터 인공지능 전략 및 로드맵r-kor
 

Tendances (20)

Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)
 
Apache Kylin
Apache KylinApache Kylin
Apache Kylin
 
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
 
Data analysis with Tajo
Data analysis with TajoData analysis with Tajo
Data analysis with Tajo
 
Introduction to Apache Tajo
Introduction to Apache TajoIntroduction to Apache Tajo
Introduction to Apache Tajo
 
Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
 
Data pipeline and data lake
Data pipeline and data lakeData pipeline and data lake
Data pipeline and data lake
 
The MongoDB Strikes Back / MongoDB 의 역습
The MongoDB Strikes Back / MongoDB 의 역습The MongoDB Strikes Back / MongoDB 의 역습
The MongoDB Strikes Back / MongoDB 의 역습
 
Spark은 왜 이렇게 유명해지고 있을까?
Spark은 왜 이렇게  유명해지고 있을까?Spark은 왜 이렇게  유명해지고 있을까?
Spark은 왜 이렇게 유명해지고 있을까?
 
[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips & tricks(송기수)
[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips & tricks(송기수)[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips & tricks(송기수)
[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips & tricks(송기수)
 
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun KimDeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
 
분석가를 위한 Aws 기반의 digital 플랫폼 구축
분석가를 위한 Aws 기반의 digital 플랫폼 구축분석가를 위한 Aws 기반의 digital 플랫폼 구축
분석가를 위한 Aws 기반의 digital 플랫폼 구축
 
234 deview2013 김형준
234 deview2013 김형준234 deview2013 김형준
234 deview2013 김형준
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
 
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
 
Gruter TECHDAY 2014 MelOn BigData
Gruter TECHDAY 2014 MelOn BigDataGruter TECHDAY 2014 MelOn BigData
Gruter TECHDAY 2014 MelOn BigData
 
[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW
 
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
 
빅데이터 인공지능 전략 및 로드맵
빅데이터 인공지능 전략 및 로드맵빅데이터 인공지능 전략 및 로드맵
빅데이터 인공지능 전략 및 로드맵
 

En vedette

GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
 GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기 GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기Kenneth Ceyer
 
Dealing with Python Reactively - PyCon Korea 2017
Dealing with Python Reactively - PyCon Korea 2017Dealing with Python Reactively - PyCon Korea 2017
Dealing with Python Reactively - PyCon Korea 2017Kenneth Ceyer
 
파이썬 리액티브하게 짜기 - PyCon Korea 2017
파이썬 리액티브하게 짜기 - PyCon Korea 2017파이썬 리액티브하게 짜기 - PyCon Korea 2017
파이썬 리액티브하게 짜기 - PyCon Korea 2017Kenneth Ceyer
 
다함께, FluxUtils 한바퀴!
다함께, FluxUtils 한바퀴!다함께, FluxUtils 한바퀴!
다함께, FluxUtils 한바퀴!우영 주
 
Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까? Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까? Kim Hunmin
 
프로그레시브 웹앱이란? - Progressive Web Apps
프로그레시브 웹앱이란? - Progressive Web Apps프로그레시브 웹앱이란? - Progressive Web Apps
프로그레시브 웹앱이란? - Progressive Web AppsGihyo Joshua Jang
 
AngularJS 2, version 1 and ReactJS
AngularJS 2, version 1 and ReactJSAngularJS 2, version 1 and ReactJS
AngularJS 2, version 1 and ReactJSKenneth Ceyer
 
Kotlin, 어떻게 동작하나요
Kotlin, 어떻게 동작하나요Kotlin, 어떻게 동작하나요
Kotlin, 어떻게 동작하나요Chang W. Doh
 

En vedette (9)

GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
 GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기 GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
 
Dealing with Python Reactively - PyCon Korea 2017
Dealing with Python Reactively - PyCon Korea 2017Dealing with Python Reactively - PyCon Korea 2017
Dealing with Python Reactively - PyCon Korea 2017
 
파이썬 리액티브하게 짜기 - PyCon Korea 2017
파이썬 리액티브하게 짜기 - PyCon Korea 2017파이썬 리액티브하게 짜기 - PyCon Korea 2017
파이썬 리액티브하게 짜기 - PyCon Korea 2017
 
다함께, FluxUtils 한바퀴!
다함께, FluxUtils 한바퀴!다함께, FluxUtils 한바퀴!
다함께, FluxUtils 한바퀴!
 
Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까? Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까?
 
역시 Redux
역시 Redux역시 Redux
역시 Redux
 
프로그레시브 웹앱이란? - Progressive Web Apps
프로그레시브 웹앱이란? - Progressive Web Apps프로그레시브 웹앱이란? - Progressive Web Apps
프로그레시브 웹앱이란? - Progressive Web Apps
 
AngularJS 2, version 1 and ReactJS
AngularJS 2, version 1 and ReactJSAngularJS 2, version 1 and ReactJS
AngularJS 2, version 1 and ReactJS
 
Kotlin, 어떻게 동작하나요
Kotlin, 어떻게 동작하나요Kotlin, 어떻게 동작하나요
Kotlin, 어떻게 동작하나요
 

Similaire à 엔지니어 관점에서 바라본 데이터시각화

Expanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with TajoExpanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with TajoGruter
 
Jco 소셜 빅데이터_20120218
Jco 소셜 빅데이터_20120218Jco 소셜 빅데이터_20120218
Jco 소셜 빅데이터_20120218Hyoungjun Kim
 
[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준NAVER D2
 
Big data 20111203_배포판
Big data 20111203_배포판Big data 20111203_배포판
Big data 20111203_배포판Hyoungjun Kim
 
KCSE 2015 Tutorial 빅데이터 분석 기술의 소프트웨어 공학 분야 활용 (...
KCSE 2015 Tutorial 빅데이터 분석 기술의  소프트웨어 공학 분야 활용 (...KCSE 2015 Tutorial 빅데이터 분석 기술의  소프트웨어 공학 분야 활용 (...
KCSE 2015 Tutorial 빅데이터 분석 기술의 소프트웨어 공학 분야 활용 (...Chanjin Park
 
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한국사용자모임
 
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020Jinwoong Kim
 
[빅데이터 컨퍼런스 전희원]
[빅데이터 컨퍼런스 전희원][빅데이터 컨퍼런스 전희원]
[빅데이터 컨퍼런스 전희원]Jayoung Lim
 
2012 빅데이터 big data 발표자료
2012 빅데이터 big data 발표자료2012 빅데이터 big data 발표자료
2012 빅데이터 big data 발표자료Wooseung Kim
 
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장eungjin cho
 
AWS Partner Techshift - (SaaS) 사업을 위한 데이터 기반 세일즈/마케팅 전략과 노하우 (트레져데이터 고영혁 수석)
AWS Partner Techshift - (SaaS) 사업을 위한 데이터 기반 세일즈/마케팅 전략과 노하우 (트레져데이터 고영혁 수석)AWS Partner Techshift - (SaaS) 사업을 위한 데이터 기반 세일즈/마케팅 전략과 노하우 (트레져데이터 고영혁 수석)
AWS Partner Techshift - (SaaS) 사업을 위한 데이터 기반 세일즈/마케팅 전략과 노하우 (트레져데이터 고영혁 수석)Amazon Web Services Korea
 
DataWorks Summit 2017
DataWorks Summit 2017DataWorks Summit 2017
DataWorks Summit 2017Daesung Park
 
빅데이터, big data
빅데이터, big data빅데이터, big data
빅데이터, big dataH K Yoon
 
[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영NAVER D2
 
AWS BigData 전략과 관련 AWS 서비스 이해하기
AWS BigData 전략과 관련 AWS 서비스 이해하기AWS BigData 전략과 관련 AWS 서비스 이해하기
AWS BigData 전략과 관련 AWS 서비스 이해하기BESPIN GLOBAL
 
Pag 빅데이터-한국에도필요한가
Pag 빅데이터-한국에도필요한가Pag 빅데이터-한국에도필요한가
Pag 빅데이터-한국에도필요한가Wooseung Kim
 
데이터 레이크 알아보기(Learn about Data Lake)
데이터 레이크 알아보기(Learn about Data Lake)데이터 레이크 알아보기(Learn about Data Lake)
데이터 레이크 알아보기(Learn about Data Lake)SeungYong Baek
 
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬Channy Yun
 
Real-time Big Data Analytics Practice with Unstructured Data
Real-time Big Data Analytics Practice with Unstructured DataReal-time Big Data Analytics Practice with Unstructured Data
Real-time Big Data Analytics Practice with Unstructured DataTed Won
 

Similaire à 엔지니어 관점에서 바라본 데이터시각화 (20)

Expanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with TajoExpanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with Tajo
 
Jco 소셜 빅데이터_20120218
Jco 소셜 빅데이터_20120218Jco 소셜 빅데이터_20120218
Jco 소셜 빅데이터_20120218
 
[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준
 
Big data 20111203_배포판
Big data 20111203_배포판Big data 20111203_배포판
Big data 20111203_배포판
 
KCSE 2015 Tutorial 빅데이터 분석 기술의 소프트웨어 공학 분야 활용 (...
KCSE 2015 Tutorial 빅데이터 분석 기술의  소프트웨어 공학 분야 활용 (...KCSE 2015 Tutorial 빅데이터 분석 기술의  소프트웨어 공학 분야 활용 (...
KCSE 2015 Tutorial 빅데이터 분석 기술의 소프트웨어 공학 분야 활용 (...
 
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
 
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
 
[빅데이터 컨퍼런스 전희원]
[빅데이터 컨퍼런스 전희원][빅데이터 컨퍼런스 전희원]
[빅데이터 컨퍼런스 전희원]
 
2012 빅데이터 big data 발표자료
2012 빅데이터 big data 발표자료2012 빅데이터 big data 발표자료
2012 빅데이터 big data 발표자료
 
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
 
AWS Partner Techshift - (SaaS) 사업을 위한 데이터 기반 세일즈/마케팅 전략과 노하우 (트레져데이터 고영혁 수석)
AWS Partner Techshift - (SaaS) 사업을 위한 데이터 기반 세일즈/마케팅 전략과 노하우 (트레져데이터 고영혁 수석)AWS Partner Techshift - (SaaS) 사업을 위한 데이터 기반 세일즈/마케팅 전략과 노하우 (트레져데이터 고영혁 수석)
AWS Partner Techshift - (SaaS) 사업을 위한 데이터 기반 세일즈/마케팅 전략과 노하우 (트레져데이터 고영혁 수석)
 
DataWorks Summit 2017
DataWorks Summit 2017DataWorks Summit 2017
DataWorks Summit 2017
 
빅데이터, big data
빅데이터, big data빅데이터, big data
빅데이터, big data
 
[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영
 
AWS BigData 전략과 관련 AWS 서비스 이해하기
AWS BigData 전략과 관련 AWS 서비스 이해하기AWS BigData 전략과 관련 AWS 서비스 이해하기
AWS BigData 전략과 관련 AWS 서비스 이해하기
 
Pag 빅데이터-한국에도필요한가
Pag 빅데이터-한국에도필요한가Pag 빅데이터-한국에도필요한가
Pag 빅데이터-한국에도필요한가
 
CouchDB - Introduction - Korean
CouchDB - Introduction - KoreanCouchDB - Introduction - Korean
CouchDB - Introduction - Korean
 
데이터 레이크 알아보기(Learn about Data Lake)
데이터 레이크 알아보기(Learn about Data Lake)데이터 레이크 알아보기(Learn about Data Lake)
데이터 레이크 알아보기(Learn about Data Lake)
 
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
 
Real-time Big Data Analytics Practice with Unstructured Data
Real-time Big Data Analytics Practice with Unstructured DataReal-time Big Data Analytics Practice with Unstructured Data
Real-time Big Data Analytics Practice with Unstructured Data
 

Plus de Kenneth Ceyer

이미지 프로세싱 in Python Open Source - PYCON KOREA 2020
이미지 프로세싱 in Python Open Source - PYCON KOREA 2020이미지 프로세싱 in Python Open Source - PYCON KOREA 2020
이미지 프로세싱 in Python Open Source - PYCON KOREA 2020Kenneth Ceyer
 
정적 컨텐츠 제너레이터 GatsbyJS에 대해서 알아봅시다.
정적 컨텐츠 제너레이터 GatsbyJS에 대해서 알아봅시다.정적 컨텐츠 제너레이터 GatsbyJS에 대해서 알아봅시다.
정적 컨텐츠 제너레이터 GatsbyJS에 대해서 알아봅시다.Kenneth Ceyer
 
LP(linear programming) Algorithm
LP(linear programming) AlgorithmLP(linear programming) Algorithm
LP(linear programming) AlgorithmKenneth Ceyer
 
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019Kenneth Ceyer
 
AllReduce for distributed learning I/O Extended Seoul
AllReduce for distributed learning I/O Extended SeoulAllReduce for distributed learning I/O Extended Seoul
AllReduce for distributed learning I/O Extended SeoulKenneth Ceyer
 
gRPC와 goroutine 톺아보기 - GDG Golang Korea 2019
gRPC와 goroutine 톺아보기 - GDG Golang Korea 2019gRPC와 goroutine 톺아보기 - GDG Golang Korea 2019
gRPC와 goroutine 톺아보기 - GDG Golang Korea 2019Kenneth Ceyer
 
Test and refactoring
Test and refactoringTest and refactoring
Test and refactoringKenneth Ceyer
 
Deep dive into Modern frameworks - HTML5 Forum 2018
Deep dive into Modern frameworks - HTML5 Forum 2018Deep dive into Modern frameworks - HTML5 Forum 2018
Deep dive into Modern frameworks - HTML5 Forum 2018Kenneth Ceyer
 
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018Kenneth Ceyer
 

Plus de Kenneth Ceyer (10)

이미지 프로세싱 in Python Open Source - PYCON KOREA 2020
이미지 프로세싱 in Python Open Source - PYCON KOREA 2020이미지 프로세싱 in Python Open Source - PYCON KOREA 2020
이미지 프로세싱 in Python Open Source - PYCON KOREA 2020
 
정적 컨텐츠 제너레이터 GatsbyJS에 대해서 알아봅시다.
정적 컨텐츠 제너레이터 GatsbyJS에 대해서 알아봅시다.정적 컨텐츠 제너레이터 GatsbyJS에 대해서 알아봅시다.
정적 컨텐츠 제너레이터 GatsbyJS에 대해서 알아봅시다.
 
LP(linear programming) Algorithm
LP(linear programming) AlgorithmLP(linear programming) Algorithm
LP(linear programming) Algorithm
 
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019
 
AllReduce for distributed learning I/O Extended Seoul
AllReduce for distributed learning I/O Extended SeoulAllReduce for distributed learning I/O Extended Seoul
AllReduce for distributed learning I/O Extended Seoul
 
gRPC와 goroutine 톺아보기 - GDG Golang Korea 2019
gRPC와 goroutine 톺아보기 - GDG Golang Korea 2019gRPC와 goroutine 톺아보기 - GDG Golang Korea 2019
gRPC와 goroutine 톺아보기 - GDG Golang Korea 2019
 
How to use vim
How to use vimHow to use vim
How to use vim
 
Test and refactoring
Test and refactoringTest and refactoring
Test and refactoring
 
Deep dive into Modern frameworks - HTML5 Forum 2018
Deep dive into Modern frameworks - HTML5 Forum 2018Deep dive into Modern frameworks - HTML5 Forum 2018
Deep dive into Modern frameworks - HTML5 Forum 2018
 
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
 

엔지니어 관점에서 바라본 데이터시각화

  • 2. Speaker • 한성민 • IGAWorks 개발 팀장 • Business Intelligence 서비스 만들고 있어요♥
  • 3. Introduction • Data visualization • BI(Business Intelligence)
  • 7. Types • Summary spark line • Bar chart • Line chart • Area chart • Bubble chart • Pie chart • Radar chart • Could word • Funnel • Heatmap • Stock chart • Scatter • Flame chart • Message flow chart • Matrix chart … 많아요
  • 8. D3에서 지원하는 차트중 일부만 해도..
  • 9. 데이터분석가를 위한 서비스도 많습니다. Jupyter with plotly shiny from R studio
  • 10. 데이터 시각화를 바라보는 관점 백엔드 개발자, 엔지니어 정형화? 비정형화? groupby 하는가? drilldown은 얼마나? 데이터의 양은 얼마나? batch? ad-hoc? stream? 데이터를 어디로 넘겨주어야 하나 cache는 어디까지? 로그 어디다가 쌓을까요? 제플린 띄워서 날로 먹자 데이터 사이언티스트 matplotlib, numpy 짱짱맨 cluster 분포는 잘 되어있나? 각 step별 정확도 변화를 시각적으로 파악 실제 데이터와 예측된 데이터의 차이점을 시각적으로 파악 헠헠 라벨을 보자! 마케터 날짜별 DAU가 얼마지? 날짜별로 어뷰징 예상유저 비율은? 게임에서 딸기를 먹은 유저 모수가 필요해 A 광고에서 들어와서 게임을 설치하여 3스테이지까지 완료한 사용자의 평균 결제금액은 프론트 개발자 D3 쓸까 highchart 쓸까 canvas or svg? raphael을 써야하나 이건 지원안해요 직접 만들어야 해요!!
  • 11. 그들이 실제로 사용하는 것 백엔드 개발자, 엔지니어 RDBMS, NoSQL, DW, Query engine Hadoop layer (cf. Spark, Impala, Pig) Cloud based database ETL Process Workflow … 데이터 사이언티스트 iPython, Jupyter TensorBoard matplotlib, numpy geoplotlib seaborn gleam ggplot2 plotly R … 마케터 Tableau PowerBI Google Data Studio … 프론트 개발자 D3, C3, NSD3 Raphael Datatable …
  • 12. 데이터 시각화 작업 흐름도 x field y field size legend axes extraformat 4. parameters label type 3. post-process groupby orderby filter pivot prediction 5. result2. datasource1. gathering / crawling
  • 13. 1. gathering / crawling • 의미있는 데이터의 최소단위로 중복 없이 끌어와야 함. • 이미 로그파일이 있다면 Batch를 통해 의미있는 데이터 가공. • 이미 데이터가 Database, Search Engine에 있다면 Workflow를 통해 수집. • Phantom.js, Scrapy, Apache Mhaout 등의 오픈소스를 이용해 크롤링. • 공유된 머신러닝 데이터 시트등을 직접 수집하여 업로드. 시각화할 데이터를 수집하는 단계
  • 14. 2. data source • 중복 없는, 같은 포맷의 데이터 • 알려진 형식의 데이터파일 (CSV, TSV, JSON, …) • field와 value로 구성된 dataframe (date: 2017-10-13, column1: 6.2) • 원격 파일의 경우 알려진 프로토콜의 접근형식 (http, jdbc, thrift, protobuf, …) • 데이터소스가 데이터베이스라면 RDBMS인지 NoSQL인지, DW인지 파악이 필요 • 비정형화 데이터라면 데이터를 접근할 수 있는 metadata가 있는지 파악 시각화할 대상의 데이터
  • 15. 3. post-process • groupby: 데이터 유사한 필드를 가진 여러 행을 하나의 행으로 묶는 과정 (ex. relational chart) • orderby: 특정 필드 기준으로 데이터 순서를 정렬하는 과정 • filter: 조건에 맞는 행만 추출하는 과정 (ex. interaction navigating chart) • pivot: groupby와 유사하지만 유사한 필드를 가진 여러행을 묶어 각 열로 피벗 • prediction: 현재 가지고 있는 데이터를 바탕으로 예측되는 데이터를 만들어내어 Trendline 혹은 또 다른 축으로 추가 (linear, exponential) 데이터소스의 데이터를 후가공하는 과정
  • 16. 4. parameters • xfield: x 필드의 값 (line, area, scatter, matrix, bubble) • yfield: y 필드의 값 (line, area, scatter, matrix, bubble) • value: 일반적인 값 • size: 특정 좌표의 bullet의 가중치 (크기 혹은 색상의 진하기) • format: 값의 형식 (number, date: yyyy-MM-dd, …) • legend: 범례 • label: 특정 좌표의 bullet의 text • axes: 차트의 축 • extra: 추가적인 정보들 (각 영역별 관계, 순서, z 값, …) 차트 타입별로 요구되는 각각의 속성들
  • 17. 5. result legend group A group B x label y label axes dot, bullet size (size) size (opacity) x: 7.2, y: 4.6 balloon 10.624 label guideline
  • 18. 데이터 시각화 까지.. data source Log File S3 (CSV, RCFile) Cloud Storage (CSV, RCFile) Database ETL / UNLOAD readable file CSV TXT JSON TSV Read post-process, rendering python R Query Java (Scala) Painting result Image Table (Text) Canvas SVG OpenGL WebGL gathering / crawling Apache Mahout phantom R Logs / Queue Gathering / Crawling DW / OLAP / RawFile Presto Impala CSV Databa se Query / Decompress
  • 20. BI (Business Intelligence) • 앞서 보셨듯이 데이터에서 의미있는 값을 도출해내는 과정이 복잡함. • 이 과정을 조금 더 쉽게하는 도구를 만듦. • 그것이 Business Intelligence. Apache incubator project Superset
  • 21. BI에서의 데이터 시각화 data source BI integrated store ETL / UNLOAD (BI handle) readable file CSV TXT JSON TSV Read (BI handle) user interface dimension metric filter options Painting result Image Table (Text) Canvas SVG OpenGL WebGL gathering / crawling Apache Mahout phantom R Logs / Queue Integrated API / Upload (BI handle) DW / OLAP / RawFile Presto Impala CSV Databa se Query / Decompress (BI handle or direct query) post-process, rendering python R Query Java (Scala) Convert 회색으로 변한 작업들이 모두 생략됨!
  • 22. 증말 편해요 여러분이 많이쓰시는 제플린도 Business Intelligence 입니다. Apache project Zeppelin
  • 23. Zeppelin Architecture data source Log File S3 (CSV, RCFile) Cloud Storage (CSV, RCFile) Database ETL / UNLOAD (BI handle) interpreters spark jdbc flink file Read Painting result gathering / crawling Apache Mahout phantom R Logs / Queue Gathering / Crawling (Add connection) DW / OLAP / RawFile Presto Impala CSV Databa se Query / Decompress user interface where filter post-process, rendering python R Query Java (Scala) Convert chart type CANVAS SVG Table (Text)
  • 25. 런칭을 앞둔 BI 런칭이 한달도 남지 않은 Business Intelligence 솔루션 Campaign Intelligence from IGAWorks
  • 26. 고군분투 • 반복된 일로 고단한 불쌍한 마케터를 위한 BI를 설계함. • 그러면서도 개발자를 위해 Query, data append API를 열어둠. • 여러 데이터소스 타입을 지원하기 위해 추상체를 쌓아올림.
  • 27. BI에서의 데이터 시각화 ETL / UNLOAD (BI handle) readable file CSV TXT JSON TSV Read (BI handle) user interface dimension metric filter options Painting result Image Table (Text) Canvas SVG OpenGL WebGL integrated datasource Google Adword s Facebook Insight Google Youtube Data API Mobile Index Integrated API / Upload (BI handle) DW / OLAP / RawFile Presto Impala CSV Databa se Query / Decompress (BI handle or direct query) post-process, rendering python R Query Java (Scala) Convert 회색으로 변한 작업들이 모두 생략됨! data source BI integrated store
  • 29. graph visualization in TensorBoard