SlideShare ist ein Scribd-Unternehmen logo
1 von 66
Downloaden Sie, um offline zu lesen
대용량 로그분석,
BigQuery로 간단히 사용하기
㈜엔비티 / Devops / 이재광
http://facebook.com/openstacks
SKT아카데미(2017.02.15)
© NBT All Rights Reserved.
Cashslide Service
잠금화면상하슬라이딩을통해
다양한콘텐츠를풀스크린으로감상
잠금화면좌우슬라이딩을통해
콘텐츠더보거나잠금화면해제
- 잠금화면을좌우로밀때마다3~5원캐시적립혜택
- 앱다운로드,영상광고시청등추가활동하면최대1500원까지적립
게임,커머스,뷰티등
다양한업종의광고
광고
상하 슬라이딩
시사,연예,생활등
다양한영역의컨텐츠
컨텐츠
좌우슬라이딩
전세계최초모바일잠금화면에서광고,컨텐츠등을보고
잠금화면을열때캐시적립을받을수있는모바일서비스
© NBT All Rights Reserved.
Cashslide Service
전체노출량의40%,전체유저의60%이상이사용하는
캐시슬라이드서비스의핵심value
약70개
컨텐츠
제휴
특화미디어
영상미디어 생활정보
신문기사
광고이외에뉴스,스포츠정보,엔터테인먼트등
폭넓은카테고리의컨텐츠를종합적으로제공
© NBT All Rights Reserved.
Cashslide Service 지속적인개편을통해
국내유일무이한모바일서비스로성장하고있습니다
. . .
잠금화면을중심으로
모바일이용경험을
혁신하는미디어
광고보고리워드받는
잠금화면앱에서…
2012년
35%
20%
5%
40%
10대
20대
30대
40대+
편의기능도쓰는
잠금화면포털로…
2014년
25%
20%
20%
35%
10대
20대
30대
40대+
컨텐츠도넘겨보는
잠금화면미디어로…
2013년
30%
15%
15%
40%
10대
20대
30대
40대+
23%
26%
26%
25%
10대
20대30대
40대+
현재
© NBT All Rights Reserved.
© NBT All Rights Reserved.
BigData
빅데이터란
기존데이터베이스관리도구의능력을넘어서는대량(수십테라바이트)의정형또는심지어데이터베이스형태가아닌비정형의
데이터집합조차포함한데이터로부터가치를추출하고결과를분석하는기술이다.발췌:위키
© NBT All Rights Reserved.
Bigdata의조건"threeVs"
Volume
Velocity
Variety
Value
현재상황파악과이에대한원인분석
미래의예측
발췌:TDWI
© NBT All Rights Reserved.
남들이 하고 있는 Big Data 활용 (B2C)
facebook LinkedIn Amazon.com
© NBT All Rights Reserved.
남들이 하고 있는 Big Data 활용 (B2B)
© NBT All Rights Reserved.
우리도 하기 위해 고민했던 것들
* 우리에게필요한분석 결과로보고싶은내용이무엇인가?
-서비스지표변화추이(나자신을알자)
-사용자타겟팅을위한사용자분석(CTR,CVR을높이자)
-정밀타겟팅을위한사용자행동분석(CTR,CVR을더높이자)
-우리가시도하는사업들에대한검증
데이터의모수는많을수록좋고이데이터어딘가에는위의내용들이포
함되어야한다.
© NBT All Rights Reserved.
빅데이터 분석을 위한 전략 예제
• 인력및경험부재(데이터분석/예측알고리즘)
• DataQuality검증필요
• CashslideUV/Profile정보
• 광고및서비스반응이력
strength weakness
threatopportunity
• 경쟁사/신규사업자시장진출가속화
• 개인정보정책이슈
• DSP(demandsideplatform)보유
• AD-serving보유
빠른검증이가능한환경
© NBT All Rights Reserved.
구축 방안은 간단히
데이터 선택
데이터 수집
지표의 활용
데이터 분석
데이터 1차 가공
어떤데이터를수집할지
서비스영향도를최소화하는
데이터수집방안고민
분석에필요한데이터를추출하여
데이터사이즈를줄인다
현재상황에대한분석
미래의예측
의사결정지원
다양한빅데이터분석플랫폼을활용
© NBT All Rights Reserved.
빅데이터 활용 (서비스 지표 분석)
CashslideMetrics
© NBT All Rights Reserved.
빅데이터 활용 (타겟팅)
* userprofile기준 타겟팅그룹분류
-성별,나이,결혼여부
*deviceprofile기준타겟팅그룹분류
-앱실행&설치이력을활용한유사도그룹분류
*useractivity패턴기준타겟팅그룹분류
-상품을구매한유저의패턴과유사도가높으나아직구매하지않은사용자그룹
-추천인,피추천인
-LTV높은유저와CVR높은유저
*실험에대한사용자반응도분석
© NBT All Rights Reserved.
빅데이터 활용 (실험 결과 검증)
© NBT All Rights Reserved.
DataScientist
TheSexiestJobofthe21stCentury
© NBT All Rights Reserved.
주변의DataScientist
Full-Stack
© NBT All Rights Reserved.
Data Scientist와 Data Engineer
1.요구사항전달
6.데이터분석및시각화
2.데이터수집 및저장아키텍처구현
3.데이터가공및분산처리아키텍처구현
4.사전데이터작업및배치개발
5.모니터링및기술지원
© NBT All Rights Reserved.
LANG:java,scala,python,R,sql
빅데이터분석모형,기법,통계분석의이해
비즈니스의이해
고객과의의사소통
LANG:java,scala,python,bash,sql
CloudPlatform,Hadoopecho,Spark,Kafka,
Zookeeper,ELK,Zeppelin,DFS,Cache,NoSQL,
RDBMS아키텍처이해와구현
OS와Network에대한이해
Infra.Security의이해
JVM,ClusterMonitoring&Troubleshooting
Data Scientist와 Data Engineer
© NBT All Rights Reserved.
우리가분석하는빅데이터소스는ClientLog와ServerLog
그리고RDBMS조합
© NBT All Rights Reserved.
Kafka+Spark+Zeppelin+ELK+Bigqeury+DataStudio
NBTLumberjacklogAnalysisArchitecture
client
L4
Kafka
proxy
Kafka &
Zookeeper Cluster
Logstash
Elasticsearc
h
Spark
Kibana
ZeppelinS3
Lumbercam
p
Jenkins
BigQuery
DataStudio
Cloud
Storage
API Server
© NBT All Rights Reserved.
데이터수집시스템'KafkaCluster'
* LinkedIn에서개발된분산메시징시스템
*대용량의실시간로그처리에특화
*범용메시징시스템대비TPS가높다.
*분산,복제가손쉽다.
*파일시스템을사용하므로데이터영속성이보장된다.
*2011년오픈소스로공개
© NBT All Rights Reserved.
데이터수집시스템'KafkaCluster'
© NBT All Rights Reserved.
producer
broker
Consumer
데이터수집시스템'KafkaCluster'
© NBT All Rights Reserved.
NBTKafkaCluster
client
L4
Kafka
proxy
Kafka &
Zookeeper Cluster
Logstash
S3
Lumbercam
p
Cloud
Storage
DAU Elasticsearch
Click Elasticsearch
lumberjack Elasticsearch
production Elasticsearch
API Server
© NBT All Rights Reserved.
datatransferagent
logstash
fluentd
plugin
echosystem
centralized
decentralize
d
performance
uses more
memory
uses less
memory
event routing
algorithmic
statements
Tags
© NBT All Rights Reserved.
Elasticsearch
* apacheLucene을기반으로한분산검색엔진
*Opensource:apachelicense2.0
*Distributed&HorizontallyScalable
*고가용성
*fulltextsearch지원
*JSONDocumentbased
*Schemafree
© NBT All Rights Reserved.
Elasticsearch설치
초간단설치로유명
1.download받는다.
2.실행한다.
3.살아있는지테스트한다.
© NBT All Rights Reserved.
Elasticsearch용어
Elasticsearch
database
table
RDB
index
type
row document
column field
schema mapping
© NBT All Rights Reserved.
Elasticsearchindex,shard&replicas
© NBT All Rights Reserved.
NBTElasticsearch
Logstash
Elasticsearc
h
Kibana
S3
Jenkins
API Server
Cloud
Storage
fast node
data node
master
node
cluster.name : nbt
node.name : "client-
node"
node.master : false
node.data : false
node.name : "query-
node"
node.master : true
node.data : false
node.master : false
node.data : true
node.box_type : hot
node.box_type :
warm
elasticsearch.yml
© NBT All Rights Reserved.
Kibana
Elasticsearch+KibanaLiveDemo
© NBT All Rights Reserved.
Kibana
ELK의최대장점:설치가매우쉽다.
사용도손쉽다.LuceneQuery기반검색.(AND,OR,NOT)
© NBT All Rights Reserved.
Hadoop+Spark+Zeppelin
*오픈소스분산처리시스템
*메모리기반(hadoop에비해속도가빠르다)
*Mapreducecode(java)에비해매우간결한code작성이가능하다.(scala)
* java,scala,python,R
*ApacehZeppelin으로손쉽게사용가능하다.
*ApacehZeppelin으로손쉽게사용가능하다.
*ApacehZeppelin으로손쉽게사용가능하다.
© NBT All Rights Reserved.
sparkexecutionflow
© NBT All Rights Reserved.
spark사용시알아야할개념hadoopYARNflow
© NBT All Rights Reserved.
hadoopYARN+spark
© NBT All Rights Reserved.
Spark
ZeppelinS3
Driver Core
RDB
Task
개념을 이해했다면 aws emr을 편하게 사용합니다.
* spot을 적절히 사용합니다.
* spot instance를 이용하여 schedule 기반 resize를 진행합니다.
* 외부 데이터를 불러오는 경우 Task를 다수로 구성하여 병렬처리 합니다.
© NBT All Rights Reserved.
그리고 Zeppelin을 사용하여 데이터를 분석합니다.
Zeppelin live demo
© NBT All Rights Reserved.
최근선택한GoogleBigquery
© NBT All Rights Reserved.
Google Cloud Account 생성이 제일 어려웠을 만큼 쉽게 구성 가능했던 BigQuery
우리가 경험했던 BigQuery
© NBT All Rights Reserved.
대략 몇군데만 손보면 금방 구현될 듯
손이 갈 만한 것들을 추려보자면
1. 현재의 logstash 서버를 활용하고
2. BigQuery API만 잘 뚫어주면
3. 우리의 log format에 맞게
잘 정의된 스키마로 데이터를
집어 넣고
4. 잘 사용하는 것 만이 할 일이다.
© NBT All Rights Reserved.
이런 작업은 하루면 됩니다.
proto-type구현
1. 현재의 json log 일부를 test 전송
2. Google App Key를 발급하
여
API 권한 획득
3. 최소한의 schema를 넣고
test 진행
4. 빠른 것 같긴한데..
이제 실데이터를 가지고 조회해 볼까
© NBT All Rights Reserved.
기존 logstash 서버에 저장된 json log file을 BigQuery로 전송 후 조회
실전 구현 시나리오 작성
Logstash
Elasticsearc
h
Spark
Kibana
ZeppelinS3
BigQuery
고려 사항
• 서버의 자원 부담 최소화
(현재도 부담 되는 중)
• 전송 처리 실패에 대한 보장
• 전송 처리 작업 시간 개선
• 전송 작업 이력 관리
• 네트워크 구간 전송 효율 개선
DataStudio
etc
Jenkins
© NBT All Rights Reserved.
BigQuery Schema 생성 시 ES의 Nested tpye에서 문제 발생
BigQuery구축 시 고민 1
고려 사항
• Nested와 유사한 Repeated Mode
• 'info' column을 Record type의
Repeated Mode로 생성
• Repeated Mode의 column 안에
또 한번의 Repeated Mode는 지원
안됨. ES도 마찬가지.
• 이 경우는 String 처리에 대한 고민
• 일단 제외
{
"name": "info",
"type": "RECORD",
"mode": "REPEATED",
"fields": [
{
"mode": "NULLABLE",
"name": "step_i",
"type": "INTEGER"
},
{
"mode": "NULLABLE",
"name": "recommended",
"type": "STRING"
},
{
"name": “app_config”,
"type": “RECORD",
"mode": “REPEATED”,
“fields” : [
{
“mode”: NULLABLE
“name": “adison_enables”
“type”: “STRING”
},
{
“mode”: NULLABLE
“name": “abusing_devices”
“type”: “STRING”
},
© NBT All Rights Reserved.
json file size : 7 ~ 35G per hour, 7.5G json file loading 작업이 약 1시간 정도 소요
Embulk를 이용한 BigQueryData적재
Logstash
Elasticsearc
h
Spark
Kibana
ZeppelinS3
BigQuery
고려 사항
• 서버의 자원 부담 최소화
(현재도 부담 되는 중)
• 전송 처리 실패에 대한 보장
• 전송 처리 작업 시간 개선
• 전송 작업 이력 관리
• 네트워크 구간 전송 효율 개선
DataStudio
etc
Jenkins
© NBT All Rights Reserved.
embulk를 도입했어도 Json file을 BigQuery로 적재하기에는 너무 느림
BigQuery구축 시 고민 2
Logstash
Elasticsearc
h
Spark
Kibana
ZeppelinS3
BigQuery
고려 사항
• 1시간 이상 걸리는 BigQuery Data
적재 작업
• Parsing 처리 비용이 너무 높다.
• 시간당 30G 이상의 파일을 전송하는
경우 발생하는 네트워크 전송량도 너
무 많다.
• 바이너리 압축 전송을 하면
BigQuery Loading은?
DataStudio
etc
Jenkins
© NBT All Rights Reserved.
Jenkins를 이용해서 gz file을 GCS로 전송 후 BigQuery Loading Job을 추가 실행
GCStoBigQuery
해결
• Transport Tool을 embulk에서
gsutil로 교체
• gsutil을 이용한 바이너리 파일 병렬
전송으로 작업 속도 향상
• Gzip으로 GCS 전송 후 BigQuery로
Data 적재 작업을 수행하는 경우 Job
형태로 async 수행 및 관리 가능
Logstash
BigQuery
DataStudio
Cloud
Storage
gsutil
Jenkins
© NBT All Rights Reserved.
BigQuery의 Computing Resource 비용은 무료
BigQuery의 Extract&Loading
무료
• 비용은 Storage와 Streaming
Inserts, Queries 요금만 존재
• 속도도 빠르고 관리도 용이한
BigQuery Loading이 무료
(GCS pricing)
BigQuery pricing
© NBT All Rights Reserved.
기존 S3로 전송하던 gz file을 GCS로 전송 후 BigQuery로 적재
실전 구현 시나리오 변경
Logstash
Elasticsearch
Spark
Kibana
ZeppelinS3
BigQuery
변경된 시나리오
• json file -> gzip file
• embulk -> gsutil
• to BigQuery -> to GCS
• sync -> async
DataStudio
Cloud
Storage
gsutil
Jenkins
gsutil
Json 7.5G
약 1 hour
GZ 350M
약 14 sec
BigQuery
Cloud
Storage
json
gzip
© NBT All Rights Reserved.
BigQuery 속도는 빠른가
BigQuery조회 해보기
고려 사항
• 한달치 1.34TB data를 스캔해서
result 까지 걸린 시간 6초
• 7명이 동시에 쿼리를 수행해도
동일하게 빠른 성능을 보여줌
• 그런데 한번 조회에 1.34TB면 얼
마지?
© NBT All Rights Reserved.
How much BigQuery
BigQuery구축 시 고민 3
비용 요소
• GCS 비용 + BigQuery Storage 비용
+ Query 비용
• BigQuery는 10MB 단위로 청구
(월 1TB 무료)
1.34TB는 약 $6.7
고려 사항
• 사용자가 range query를 제대로 수행
하지 않으면 많은 비용이 발생할 수도
있다.
• 대안으로 테이블을 사용자 용도에 맞
게 복제해주거나 구글의 cost control
을 통한 Quota 제한 고민
© NBT All Rights Reserved.
기간별table을쉽게생성하는방법?
© NBT All Rights Reserved.
Table Decorator, Partition Decorator
BigQuery가 제공하는 Decorator
장점
• 날짜별 table이 존재하듯이 사용
• 손쉬운 range 검색
• 기간별, 일자별 table 생성이 용이
고려 사항
• Table 생성 시 Partitioned Table로
생성되어야 함
SELECT COUNT(*) FROM cashslide:dataset.table$20160830
2016년 8월 30일 데이터 조회
SELECT COUNT(*) FROM [cashslide:dataset.table@-3600000]
테이블 생성 후 1시간 이전까지의 데이터 조회
© NBT All Rights Reserved.
나중에 이걸 확인한다면 BigQuery 적재 작업의 처음으로 돌아가시오.
편리한 Partitionedtables
고려 사항
• Dataset table 생성 시 Date-
Partitioned tables로 생성 가능
• 생성 시 Expiration time은
second 기준
• _PARTITIONTIME 이름의
pseudo column 을 포함하며,
data 적재 시점을 기준으로
TIMESTAMP(“2016-04-15”)
형식의 값을 저장함. UTC 기준
$bq mk --time_partitioning_type=DAY 
--time_partitioning_expiration=259200 
mydataset.table
Partitioned tables 생성 예제
$bq show --format=prettyjson mydataset.table
생성된 테이블 정보 확인
{
...
"tableReference": {
"datasetId": "mydataset",
"projectId": "myproject",
"tableId": "table2"
},
"timePartitioning": {
"expirationMs": "2592000000",
"type": "DAY"
},
"type": "TABLE"
}
© NBT All Rights Reserved.
Table Decorator
유용한 Decorator2가지 (1/2)
고려 사항
• 최대 7일 이전의 데이터까지 조회
가능 (rollback)
• Milliseconds 단위
# Snapshot decorators
@<time>
# Range decorators
@<time1>-<time2>
Syntax
# Snapshot example
SELECT COUNT(*) FROM [cashslide:dataset.table@-3600000]
# Range example
SELECT
COUNT(*)
FROM
[cashslide:dataset.table@-3600000--1800000]
Example
© NBT All Rights Reserved.
Partition Decorator
유용한 Decorator2가지 (2/2)
고려 사항
• $YYYYMMDD decorator를 이
용한 snapshot 검색
• Pseudo column을 이용한
range 검색
[TABLE_NAME]$YYYYMMDD
Syntax
# Snapshot example
SELECT COUNT(*) FROM cashslide:dataset.table$20160505
# Range example
SELECT
field
FROM
table
WHERE
_PARTITIONTIME BETWEEN TIMESTAMP('2016-01-01')
AND TIMESTAMP('2016-01-21');
Example
© NBT All Rights Reserved.
이렇게구축한BigQuery를잘활용하는데
도움되는TIP몇가지
© NBT All Rights Reserved.
BigQuery Composer 여러모로 편리합니다.
BigQueryTip1
TIP
• Query box 안의 Color를 보면
현재 syntax, dataset name,
table name, column name,
function name 의 오류를 쉽게
확인 가능
• Results Tab 옆의 Explanation
을 보면 Query 수행 과정이 알기
쉽게 표기되어 Query 성능 개선
가능
© NBT All Rights Reserved.
File export 는 file당 1G, 일일 최대 10TB 가능
BigQueryTip2
TIP
• 쿼리 결과의 export는 파일당 최
대 1G 가능
• 그 이상의 결과를 export 하려는
경우 쿼리 결과에서 ‘Save as
Table’로 저장 후 export 항목에
‘*.json’ 형태로 기입
© NBT All Rights Reserved.
BigQuery 비용 절감을 위한 Use Cache 사용
BigQueryTip3
TIP
• 'Use Cached Results'를 사용하
여 캐싱된 이전 쿼리 결과를 사용
하면 중복되는 쿼리들의 비용을
절감 가능
Query Composer에서 'Show Options'를 눌러보면
© NBT All Rights Reserved.
Zeppelin 0.6.1부터 ‘%bigquery’인터프리터 지원
BigQueryTip4
TIP
• Zeppelin 0.6.1 버전부터
BigQuery Interpreter를 제공
• Data뿐만 아니라 BigQuery
Computing resource를 활용하
여 작업 수행 가능 (AWS EMR,
Google Dataproc의 비용 불필
요)
• 기존 Notebook의 이전 작업이
필요
© NBT All Rights Reserved.
손쉽게 연계 사용이 가능한 Data Studio가 무료
BigQueryTip5
© NBT All Rights Reserved.
결론:
실시간트렌드변화는Kibana
통계분석에는Zeppelin
이두가지가모두가능한DataStudio
하지만
도구는거들뿐..
© NBT All Rights Reserved.
Q&A
THANK YOU
주소 : 서울시 서초구 서초동 1341-7 조이빌딩

Weitere ähnliche Inhalte

Was ist angesagt?

실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다승화 양
 
Massive service basic
Massive service basicMassive service basic
Massive service basicDaeMyung Kang
 
데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.Yongho Ha
 
그래프에서 대시보드까지, 서비스를 위한 데이터 시각화
그래프에서 대시보드까지, 서비스를 위한 데이터 시각화그래프에서 대시보드까지, 서비스를 위한 데이터 시각화
그래프에서 대시보드까지, 서비스를 위한 데이터 시각화Minho Lee
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유Hyojun Jeon
 
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장Dylan Ko
 
Data pipeline and data lake
Data pipeline and data lakeData pipeline and data lake
Data pipeline and data lakeDaeMyung Kang
 
성장을 좋아하는 사람이, 성장하고 싶은 사람에게
성장을 좋아하는 사람이, 성장하고 싶은 사람에게성장을 좋아하는 사람이, 성장하고 싶은 사람에게
성장을 좋아하는 사람이, 성장하고 싶은 사람에게Seongyun Byeon
 
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) 오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) Yongho Ha
 
데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립승화 양
 
데이터 분석가는 어떤 SKILLSET을 가져야 하는가? - 데이터 분석가 되기
데이터 분석가는 어떤 SKILLSET을 가져야 하는가?  - 데이터 분석가 되기데이터 분석가는 어떤 SKILLSET을 가져야 하는가?  - 데이터 분석가 되기
데이터 분석가는 어떤 SKILLSET을 가져야 하는가? - 데이터 분석가 되기Hui Seo
 
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)Minwoo Kim
 
인프런 - 스타트업 인프랩 시작 사례
인프런 - 스타트업 인프랩 시작 사례인프런 - 스타트업 인프랩 시작 사례
인프런 - 스타트업 인프랩 시작 사례Hyung Lee
 
서비스 기획자를 위한 데이터분석 시작하기
서비스 기획자를 위한 데이터분석 시작하기서비스 기획자를 위한 데이터분석 시작하기
서비스 기획자를 위한 데이터분석 시작하기승화 양
 
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축Juhong Park
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbieDaeMyung Kang
 
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표Dylan Ko
 
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)Yongho Ha
 

Was ist angesagt? (20)

실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
 
Massive service basic
Massive service basicMassive service basic
Massive service basic
 
데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.
 
그래프에서 대시보드까지, 서비스를 위한 데이터 시각화
그래프에서 대시보드까지, 서비스를 위한 데이터 시각화그래프에서 대시보드까지, 서비스를 위한 데이터 시각화
그래프에서 대시보드까지, 서비스를 위한 데이터 시각화
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
 
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
 
Data pipeline and data lake
Data pipeline and data lakeData pipeline and data lake
Data pipeline and data lake
 
성장을 좋아하는 사람이, 성장하고 싶은 사람에게
성장을 좋아하는 사람이, 성장하고 싶은 사람에게성장을 좋아하는 사람이, 성장하고 싶은 사람에게
성장을 좋아하는 사람이, 성장하고 싶은 사람에게
 
Log design
Log designLog design
Log design
 
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) 오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
 
데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립
 
데이터 분석가는 어떤 SKILLSET을 가져야 하는가? - 데이터 분석가 되기
데이터 분석가는 어떤 SKILLSET을 가져야 하는가?  - 데이터 분석가 되기데이터 분석가는 어떤 SKILLSET을 가져야 하는가?  - 데이터 분석가 되기
데이터 분석가는 어떤 SKILLSET을 가져야 하는가? - 데이터 분석가 되기
 
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
 
인프런 - 스타트업 인프랩 시작 사례
인프런 - 스타트업 인프랩 시작 사례인프런 - 스타트업 인프랩 시작 사례
인프런 - 스타트업 인프랩 시작 사례
 
서비스 기획자를 위한 데이터분석 시작하기
서비스 기획자를 위한 데이터분석 시작하기서비스 기획자를 위한 데이터분석 시작하기
서비스 기획자를 위한 데이터분석 시작하기
 
Data Science. Intro
Data Science. IntroData Science. Intro
Data Science. Intro
 
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbie
 
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
 
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
 

Andere mochten auch

Apache kafka intro_20150313_springloops
Apache kafka intro_20150313_springloopsApache kafka intro_20150313_springloops
Apache kafka intro_20150313_springloopsSungMin OH
 
신림프로그래머 Kafka study
신림프로그래머 Kafka study신림프로그래머 Kafka study
신림프로그래머 Kafka studyRjs Ryu
 
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기Ted Won
 
Hnavi-HDFS based log aggregater with HDFS Browser
Hnavi-HDFS based log aggregater with HDFS BrowserHnavi-HDFS based log aggregater with HDFS Browser
Hnavi-HDFS based log aggregater with HDFS BrowserLINE+
 
2017대선 빅데이터 분석
2017대선 빅데이터 분석2017대선 빅데이터 분석
2017대선 빅데이터 분석지승 한
 
New ICT Trends in CES 2016
New ICT Trends in CES 2016New ICT Trends in CES 2016
New ICT Trends in CES 2016Jonathan Jeon
 
Sdpc 포트폴리오모음(lr)
Sdpc 포트폴리오모음(lr)Sdpc 포트폴리오모음(lr)
Sdpc 포트폴리오모음(lr)saewoo me
 
2017 tensor flow dev summit
2017 tensor flow dev summit2017 tensor flow dev summit
2017 tensor flow dev summitTae Young Lee
 
빅데이터와 로봇 (Big Data in Robotics)
빅데이터와 로봇 (Big Data in Robotics)빅데이터와 로봇 (Big Data in Robotics)
빅데이터와 로봇 (Big Data in Robotics)Hong-Seok Kim
 
It trends 2015 3 q-totoro4
It trends 2015 3 q-totoro4It trends 2015 3 q-totoro4
It trends 2015 3 q-totoro4SangSu Jeon
 
Enterprise conference 2013 Microsoft BigData 사례발표자료
Enterprise conference 2013 Microsoft BigData 사례발표자료Enterprise conference 2013 Microsoft BigData 사례발표자료
Enterprise conference 2013 Microsoft BigData 사례발표자료환태 김
 
It Trends 2015-2H-totoro4
It Trends 2015-2H-totoro4It Trends 2015-2H-totoro4
It Trends 2015-2H-totoro4SangSu Jeon
 
빅데이터 구축 사례
빅데이터 구축 사례빅데이터 구축 사례
빅데이터 구축 사례Taehyeon Oh
 
Ethics of Big Data
Ethics of Big DataEthics of Big Data
Ethics of Big DataMatti Vesala
 
Cloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcampCloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcampSang-bae Lim
 
빅데이터 환경에서 지능형 로그 관리 플랫폼으로 진화하는 보안 정보&이벤트 관리 동향
빅데이터 환경에서 지능형 로그 관리 플랫폼으로 진화하는 보안 정보&이벤트 관리 동향빅데이터 환경에서 지능형 로그 관리 플랫폼으로 진화하는 보안 정보&이벤트 관리 동향
빅데이터 환경에서 지능형 로그 관리 플랫폼으로 진화하는 보안 정보&이벤트 관리 동향Donghan Kim
 
AWS와 Open Source - 윤석찬 (OSS개발자 그룹)
AWS와 Open Source - 윤석찬 (OSS개발자 그룹)AWS와 Open Source - 윤석찬 (OSS개발자 그룹)
AWS와 Open Source - 윤석찬 (OSS개발자 그룹)Amazon Web Services Korea
 

Andere mochten auch (20)

Apache kafka intro_20150313_springloops
Apache kafka intro_20150313_springloopsApache kafka intro_20150313_springloops
Apache kafka intro_20150313_springloops
 
신림프로그래머 Kafka study
신림프로그래머 Kafka study신림프로그래머 Kafka study
신림프로그래머 Kafka study
 
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기
 
Zookeeper 소개
Zookeeper 소개Zookeeper 소개
Zookeeper 소개
 
Hnavi-HDFS based log aggregater with HDFS Browser
Hnavi-HDFS based log aggregater with HDFS BrowserHnavi-HDFS based log aggregater with HDFS Browser
Hnavi-HDFS based log aggregater with HDFS Browser
 
2017대선 빅데이터 분석
2017대선 빅데이터 분석2017대선 빅데이터 분석
2017대선 빅데이터 분석
 
New ICT Trends in CES 2016
New ICT Trends in CES 2016New ICT Trends in CES 2016
New ICT Trends in CES 2016
 
Sdpc 포트폴리오모음(lr)
Sdpc 포트폴리오모음(lr)Sdpc 포트폴리오모음(lr)
Sdpc 포트폴리오모음(lr)
 
2017 tensor flow dev summit
2017 tensor flow dev summit2017 tensor flow dev summit
2017 tensor flow dev summit
 
빅데이터와 로봇 (Big Data in Robotics)
빅데이터와 로봇 (Big Data in Robotics)빅데이터와 로봇 (Big Data in Robotics)
빅데이터와 로봇 (Big Data in Robotics)
 
Bigdata
BigdataBigdata
Bigdata
 
It trends 2015 3 q-totoro4
It trends 2015 3 q-totoro4It trends 2015 3 q-totoro4
It trends 2015 3 q-totoro4
 
Enterprise conference 2013 Microsoft BigData 사례발표자료
Enterprise conference 2013 Microsoft BigData 사례발표자료Enterprise conference 2013 Microsoft BigData 사례발표자료
Enterprise conference 2013 Microsoft BigData 사례발표자료
 
It Trends 2015-2H-totoro4
It Trends 2015-2H-totoro4It Trends 2015-2H-totoro4
It Trends 2015-2H-totoro4
 
빅데이터 구축 사례
빅데이터 구축 사례빅데이터 구축 사례
빅데이터 구축 사례
 
Ethics of Big Data
Ethics of Big DataEthics of Big Data
Ethics of Big Data
 
기술8기 2조
기술8기 2조기술8기 2조
기술8기 2조
 
Cloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcampCloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcamp
 
빅데이터 환경에서 지능형 로그 관리 플랫폼으로 진화하는 보안 정보&이벤트 관리 동향
빅데이터 환경에서 지능형 로그 관리 플랫폼으로 진화하는 보안 정보&이벤트 관리 동향빅데이터 환경에서 지능형 로그 관리 플랫폼으로 진화하는 보안 정보&이벤트 관리 동향
빅데이터 환경에서 지능형 로그 관리 플랫폼으로 진화하는 보안 정보&이벤트 관리 동향
 
AWS와 Open Source - 윤석찬 (OSS개발자 그룹)
AWS와 Open Source - 윤석찬 (OSS개발자 그룹)AWS와 Open Source - 윤석찬 (OSS개발자 그룹)
AWS와 Open Source - 윤석찬 (OSS개발자 그룹)
 

Ähnlich wie 대용량 로그분석 Bigquery로 간단히 사용하기 (20170215 T아카데미)

대용량 로그분석 Bigquery로 간단히 사용하기 20160930
대용량 로그분석 Bigquery로 간단히 사용하기 20160930대용량 로그분석 Bigquery로 간단히 사용하기 20160930
대용량 로그분석 Bigquery로 간단히 사용하기 20160930Jaikwang Lee
 
Spark machine learning & deep learning
Spark machine learning & deep learningSpark machine learning & deep learning
Spark machine learning & deep learninghoondong kim
 
Node.js를 사용한 Big Data 사례연구
Node.js를 사용한 Big Data 사례연구Node.js를 사용한 Big Data 사례연구
Node.js를 사용한 Big Data 사례연구ByungJoon Lee
 
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영NAVER D2
 
Serverless Architecture with Cloud Function
Serverless Architecture with Cloud FunctionServerless Architecture with Cloud Function
Serverless Architecture with Cloud FunctionHarrison Jung
 
[스마트스터디]MongoDB 의 역습
[스마트스터디]MongoDB 의 역습[스마트스터디]MongoDB 의 역습
[스마트스터디]MongoDB 의 역습smartstudy_official
 
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
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
 
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례BJ Jang
 
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019Amazon Web Services Korea
 
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018Amazon Web Services Korea
 
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdfSK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdfDeukJin Jeon
 
Accelerate spring boot application with apache ignite
Accelerate spring boot application with apache igniteAccelerate spring boot application with apache ignite
Accelerate spring boot application with apache igniteYEON BOK LEE
 
Elastic Stack & Data pipeline
Elastic Stack & Data pipelineElastic Stack & Data pipeline
Elastic Stack & Data pipelineJongho Woo
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...hoondong kim
 
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...Amazon Web Services Korea
 
1711 azure-live
1711 azure-live1711 azure-live
1711 azure-live세준 김
 
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈Minwoo Kim
 
성공적인 게임 런칭을 위한 비밀의 레시피 #3
성공적인 게임 런칭을 위한 비밀의 레시피 #3성공적인 게임 런칭을 위한 비밀의 레시피 #3
성공적인 게임 런칭을 위한 비밀의 레시피 #3Amazon Web Services Korea
 

Ähnlich wie 대용량 로그분석 Bigquery로 간단히 사용하기 (20170215 T아카데미) (20)

대용량 로그분석 Bigquery로 간단히 사용하기 20160930
대용량 로그분석 Bigquery로 간단히 사용하기 20160930대용량 로그분석 Bigquery로 간단히 사용하기 20160930
대용량 로그분석 Bigquery로 간단히 사용하기 20160930
 
Spark machine learning & deep learning
Spark machine learning & deep learningSpark machine learning & deep learning
Spark machine learning & deep learning
 
Node.js를 사용한 Big Data 사례연구
Node.js를 사용한 Big Data 사례연구Node.js를 사용한 Big Data 사례연구
Node.js를 사용한 Big Data 사례연구
 
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영
 
Serverless Architecture with Cloud Function
Serverless Architecture with Cloud FunctionServerless Architecture with Cloud Function
Serverless Architecture with Cloud Function
 
[스마트스터디]MongoDB 의 역습
[스마트스터디]MongoDB 의 역습[스마트스터디]MongoDB 의 역습
[스마트스터디]MongoDB 의 역습
 
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
 
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
 
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
 
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
 
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
 
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdfSK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf
 
Accelerate spring boot application with apache ignite
Accelerate spring boot application with apache igniteAccelerate spring boot application with apache ignite
Accelerate spring boot application with apache ignite
 
Elastic Stack & Data pipeline
Elastic Stack & Data pipelineElastic Stack & Data pipeline
Elastic Stack & Data pipeline
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
 
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...
 
1711 azure-live
1711 azure-live1711 azure-live
1711 azure-live
 
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
 
OpenStack Swift Debugging
OpenStack Swift DebuggingOpenStack Swift Debugging
OpenStack Swift Debugging
 
성공적인 게임 런칭을 위한 비밀의 레시피 #3
성공적인 게임 런칭을 위한 비밀의 레시피 #3성공적인 게임 런칭을 위한 비밀의 레시피 #3
성공적인 게임 런칭을 위한 비밀의 레시피 #3
 

대용량 로그분석 Bigquery로 간단히 사용하기 (20170215 T아카데미)

  • 1. 대용량 로그분석, BigQuery로 간단히 사용하기 ㈜엔비티 / Devops / 이재광 http://facebook.com/openstacks SKT아카데미(2017.02.15)
  • 2. © NBT All Rights Reserved. Cashslide Service 잠금화면상하슬라이딩을통해 다양한콘텐츠를풀스크린으로감상 잠금화면좌우슬라이딩을통해 콘텐츠더보거나잠금화면해제 - 잠금화면을좌우로밀때마다3~5원캐시적립혜택 - 앱다운로드,영상광고시청등추가활동하면최대1500원까지적립 게임,커머스,뷰티등 다양한업종의광고 광고 상하 슬라이딩 시사,연예,생활등 다양한영역의컨텐츠 컨텐츠 좌우슬라이딩 전세계최초모바일잠금화면에서광고,컨텐츠등을보고 잠금화면을열때캐시적립을받을수있는모바일서비스
  • 3. © NBT All Rights Reserved. Cashslide Service 전체노출량의40%,전체유저의60%이상이사용하는 캐시슬라이드서비스의핵심value 약70개 컨텐츠 제휴 특화미디어 영상미디어 생활정보 신문기사 광고이외에뉴스,스포츠정보,엔터테인먼트등 폭넓은카테고리의컨텐츠를종합적으로제공
  • 4. © NBT All Rights Reserved. Cashslide Service 지속적인개편을통해 국내유일무이한모바일서비스로성장하고있습니다 . . . 잠금화면을중심으로 모바일이용경험을 혁신하는미디어 광고보고리워드받는 잠금화면앱에서… 2012년 35% 20% 5% 40% 10대 20대 30대 40대+ 편의기능도쓰는 잠금화면포털로… 2014년 25% 20% 20% 35% 10대 20대 30대 40대+ 컨텐츠도넘겨보는 잠금화면미디어로… 2013년 30% 15% 15% 40% 10대 20대 30대 40대+ 23% 26% 26% 25% 10대 20대30대 40대+ 현재
  • 5. © NBT All Rights Reserved.
  • 6. © NBT All Rights Reserved. BigData 빅데이터란 기존데이터베이스관리도구의능력을넘어서는대량(수십테라바이트)의정형또는심지어데이터베이스형태가아닌비정형의 데이터집합조차포함한데이터로부터가치를추출하고결과를분석하는기술이다.발췌:위키
  • 7. © NBT All Rights Reserved. Bigdata의조건"threeVs" Volume Velocity Variety Value 현재상황파악과이에대한원인분석 미래의예측 발췌:TDWI
  • 8. © NBT All Rights Reserved. 남들이 하고 있는 Big Data 활용 (B2C) facebook LinkedIn Amazon.com
  • 9. © NBT All Rights Reserved. 남들이 하고 있는 Big Data 활용 (B2B)
  • 10. © NBT All Rights Reserved. 우리도 하기 위해 고민했던 것들 * 우리에게필요한분석 결과로보고싶은내용이무엇인가? -서비스지표변화추이(나자신을알자) -사용자타겟팅을위한사용자분석(CTR,CVR을높이자) -정밀타겟팅을위한사용자행동분석(CTR,CVR을더높이자) -우리가시도하는사업들에대한검증 데이터의모수는많을수록좋고이데이터어딘가에는위의내용들이포 함되어야한다.
  • 11. © NBT All Rights Reserved. 빅데이터 분석을 위한 전략 예제 • 인력및경험부재(데이터분석/예측알고리즘) • DataQuality검증필요 • CashslideUV/Profile정보 • 광고및서비스반응이력 strength weakness threatopportunity • 경쟁사/신규사업자시장진출가속화 • 개인정보정책이슈 • DSP(demandsideplatform)보유 • AD-serving보유 빠른검증이가능한환경
  • 12. © NBT All Rights Reserved. 구축 방안은 간단히 데이터 선택 데이터 수집 지표의 활용 데이터 분석 데이터 1차 가공 어떤데이터를수집할지 서비스영향도를최소화하는 데이터수집방안고민 분석에필요한데이터를추출하여 데이터사이즈를줄인다 현재상황에대한분석 미래의예측 의사결정지원 다양한빅데이터분석플랫폼을활용
  • 13. © NBT All Rights Reserved. 빅데이터 활용 (서비스 지표 분석) CashslideMetrics
  • 14. © NBT All Rights Reserved. 빅데이터 활용 (타겟팅) * userprofile기준 타겟팅그룹분류 -성별,나이,결혼여부 *deviceprofile기준타겟팅그룹분류 -앱실행&설치이력을활용한유사도그룹분류 *useractivity패턴기준타겟팅그룹분류 -상품을구매한유저의패턴과유사도가높으나아직구매하지않은사용자그룹 -추천인,피추천인 -LTV높은유저와CVR높은유저 *실험에대한사용자반응도분석
  • 15. © NBT All Rights Reserved. 빅데이터 활용 (실험 결과 검증)
  • 16. © NBT All Rights Reserved. DataScientist TheSexiestJobofthe21stCentury
  • 17. © NBT All Rights Reserved. 주변의DataScientist Full-Stack
  • 18. © NBT All Rights Reserved. Data Scientist와 Data Engineer 1.요구사항전달 6.데이터분석및시각화 2.데이터수집 및저장아키텍처구현 3.데이터가공및분산처리아키텍처구현 4.사전데이터작업및배치개발 5.모니터링및기술지원
  • 19. © NBT All Rights Reserved. LANG:java,scala,python,R,sql 빅데이터분석모형,기법,통계분석의이해 비즈니스의이해 고객과의의사소통 LANG:java,scala,python,bash,sql CloudPlatform,Hadoopecho,Spark,Kafka, Zookeeper,ELK,Zeppelin,DFS,Cache,NoSQL, RDBMS아키텍처이해와구현 OS와Network에대한이해 Infra.Security의이해 JVM,ClusterMonitoring&Troubleshooting Data Scientist와 Data Engineer
  • 20. © NBT All Rights Reserved. 우리가분석하는빅데이터소스는ClientLog와ServerLog 그리고RDBMS조합
  • 21. © NBT All Rights Reserved. Kafka+Spark+Zeppelin+ELK+Bigqeury+DataStudio NBTLumberjacklogAnalysisArchitecture client L4 Kafka proxy Kafka & Zookeeper Cluster Logstash Elasticsearc h Spark Kibana ZeppelinS3 Lumbercam p Jenkins BigQuery DataStudio Cloud Storage API Server
  • 22. © NBT All Rights Reserved. 데이터수집시스템'KafkaCluster' * LinkedIn에서개발된분산메시징시스템 *대용량의실시간로그처리에특화 *범용메시징시스템대비TPS가높다. *분산,복제가손쉽다. *파일시스템을사용하므로데이터영속성이보장된다. *2011년오픈소스로공개
  • 23. © NBT All Rights Reserved. 데이터수집시스템'KafkaCluster'
  • 24. © NBT All Rights Reserved. producer broker Consumer 데이터수집시스템'KafkaCluster'
  • 25. © NBT All Rights Reserved. NBTKafkaCluster client L4 Kafka proxy Kafka & Zookeeper Cluster Logstash S3 Lumbercam p Cloud Storage DAU Elasticsearch Click Elasticsearch lumberjack Elasticsearch production Elasticsearch API Server
  • 26. © NBT All Rights Reserved. datatransferagent logstash fluentd plugin echosystem centralized decentralize d performance uses more memory uses less memory event routing algorithmic statements Tags
  • 27. © NBT All Rights Reserved. Elasticsearch * apacheLucene을기반으로한분산검색엔진 *Opensource:apachelicense2.0 *Distributed&HorizontallyScalable *고가용성 *fulltextsearch지원 *JSONDocumentbased *Schemafree
  • 28. © NBT All Rights Reserved. Elasticsearch설치 초간단설치로유명 1.download받는다. 2.실행한다. 3.살아있는지테스트한다.
  • 29. © NBT All Rights Reserved. Elasticsearch용어 Elasticsearch database table RDB index type row document column field schema mapping
  • 30. © NBT All Rights Reserved. Elasticsearchindex,shard&replicas
  • 31. © NBT All Rights Reserved. NBTElasticsearch Logstash Elasticsearc h Kibana S3 Jenkins API Server Cloud Storage fast node data node master node cluster.name : nbt node.name : "client- node" node.master : false node.data : false node.name : "query- node" node.master : true node.data : false node.master : false node.data : true node.box_type : hot node.box_type : warm elasticsearch.yml
  • 32. © NBT All Rights Reserved. Kibana Elasticsearch+KibanaLiveDemo
  • 33. © NBT All Rights Reserved. Kibana ELK의최대장점:설치가매우쉽다. 사용도손쉽다.LuceneQuery기반검색.(AND,OR,NOT)
  • 34. © NBT All Rights Reserved. Hadoop+Spark+Zeppelin *오픈소스분산처리시스템 *메모리기반(hadoop에비해속도가빠르다) *Mapreducecode(java)에비해매우간결한code작성이가능하다.(scala) * java,scala,python,R *ApacehZeppelin으로손쉽게사용가능하다. *ApacehZeppelin으로손쉽게사용가능하다. *ApacehZeppelin으로손쉽게사용가능하다.
  • 35. © NBT All Rights Reserved. sparkexecutionflow
  • 36. © NBT All Rights Reserved. spark사용시알아야할개념hadoopYARNflow
  • 37. © NBT All Rights Reserved. hadoopYARN+spark
  • 38. © NBT All Rights Reserved. Spark ZeppelinS3 Driver Core RDB Task 개념을 이해했다면 aws emr을 편하게 사용합니다. * spot을 적절히 사용합니다. * spot instance를 이용하여 schedule 기반 resize를 진행합니다. * 외부 데이터를 불러오는 경우 Task를 다수로 구성하여 병렬처리 합니다.
  • 39. © NBT All Rights Reserved. 그리고 Zeppelin을 사용하여 데이터를 분석합니다. Zeppelin live demo
  • 40. © NBT All Rights Reserved. 최근선택한GoogleBigquery
  • 41. © NBT All Rights Reserved. Google Cloud Account 생성이 제일 어려웠을 만큼 쉽게 구성 가능했던 BigQuery 우리가 경험했던 BigQuery
  • 42. © NBT All Rights Reserved. 대략 몇군데만 손보면 금방 구현될 듯 손이 갈 만한 것들을 추려보자면 1. 현재의 logstash 서버를 활용하고 2. BigQuery API만 잘 뚫어주면 3. 우리의 log format에 맞게 잘 정의된 스키마로 데이터를 집어 넣고 4. 잘 사용하는 것 만이 할 일이다.
  • 43. © NBT All Rights Reserved. 이런 작업은 하루면 됩니다. proto-type구현 1. 현재의 json log 일부를 test 전송 2. Google App Key를 발급하 여 API 권한 획득 3. 최소한의 schema를 넣고 test 진행 4. 빠른 것 같긴한데.. 이제 실데이터를 가지고 조회해 볼까
  • 44. © NBT All Rights Reserved. 기존 logstash 서버에 저장된 json log file을 BigQuery로 전송 후 조회 실전 구현 시나리오 작성 Logstash Elasticsearc h Spark Kibana ZeppelinS3 BigQuery 고려 사항 • 서버의 자원 부담 최소화 (현재도 부담 되는 중) • 전송 처리 실패에 대한 보장 • 전송 처리 작업 시간 개선 • 전송 작업 이력 관리 • 네트워크 구간 전송 효율 개선 DataStudio etc Jenkins
  • 45. © NBT All Rights Reserved. BigQuery Schema 생성 시 ES의 Nested tpye에서 문제 발생 BigQuery구축 시 고민 1 고려 사항 • Nested와 유사한 Repeated Mode • 'info' column을 Record type의 Repeated Mode로 생성 • Repeated Mode의 column 안에 또 한번의 Repeated Mode는 지원 안됨. ES도 마찬가지. • 이 경우는 String 처리에 대한 고민 • 일단 제외 { "name": "info", "type": "RECORD", "mode": "REPEATED", "fields": [ { "mode": "NULLABLE", "name": "step_i", "type": "INTEGER" }, { "mode": "NULLABLE", "name": "recommended", "type": "STRING" }, { "name": “app_config”, "type": “RECORD", "mode": “REPEATED”, “fields” : [ { “mode”: NULLABLE “name": “adison_enables” “type”: “STRING” }, { “mode”: NULLABLE “name": “abusing_devices” “type”: “STRING” },
  • 46. © NBT All Rights Reserved. json file size : 7 ~ 35G per hour, 7.5G json file loading 작업이 약 1시간 정도 소요 Embulk를 이용한 BigQueryData적재 Logstash Elasticsearc h Spark Kibana ZeppelinS3 BigQuery 고려 사항 • 서버의 자원 부담 최소화 (현재도 부담 되는 중) • 전송 처리 실패에 대한 보장 • 전송 처리 작업 시간 개선 • 전송 작업 이력 관리 • 네트워크 구간 전송 효율 개선 DataStudio etc Jenkins
  • 47. © NBT All Rights Reserved. embulk를 도입했어도 Json file을 BigQuery로 적재하기에는 너무 느림 BigQuery구축 시 고민 2 Logstash Elasticsearc h Spark Kibana ZeppelinS3 BigQuery 고려 사항 • 1시간 이상 걸리는 BigQuery Data 적재 작업 • Parsing 처리 비용이 너무 높다. • 시간당 30G 이상의 파일을 전송하는 경우 발생하는 네트워크 전송량도 너 무 많다. • 바이너리 압축 전송을 하면 BigQuery Loading은? DataStudio etc Jenkins
  • 48. © NBT All Rights Reserved. Jenkins를 이용해서 gz file을 GCS로 전송 후 BigQuery Loading Job을 추가 실행 GCStoBigQuery 해결 • Transport Tool을 embulk에서 gsutil로 교체 • gsutil을 이용한 바이너리 파일 병렬 전송으로 작업 속도 향상 • Gzip으로 GCS 전송 후 BigQuery로 Data 적재 작업을 수행하는 경우 Job 형태로 async 수행 및 관리 가능 Logstash BigQuery DataStudio Cloud Storage gsutil Jenkins
  • 49. © NBT All Rights Reserved. BigQuery의 Computing Resource 비용은 무료 BigQuery의 Extract&Loading 무료 • 비용은 Storage와 Streaming Inserts, Queries 요금만 존재 • 속도도 빠르고 관리도 용이한 BigQuery Loading이 무료 (GCS pricing) BigQuery pricing
  • 50. © NBT All Rights Reserved. 기존 S3로 전송하던 gz file을 GCS로 전송 후 BigQuery로 적재 실전 구현 시나리오 변경 Logstash Elasticsearch Spark Kibana ZeppelinS3 BigQuery 변경된 시나리오 • json file -> gzip file • embulk -> gsutil • to BigQuery -> to GCS • sync -> async DataStudio Cloud Storage gsutil Jenkins gsutil Json 7.5G 약 1 hour GZ 350M 약 14 sec BigQuery Cloud Storage json gzip
  • 51. © NBT All Rights Reserved. BigQuery 속도는 빠른가 BigQuery조회 해보기 고려 사항 • 한달치 1.34TB data를 스캔해서 result 까지 걸린 시간 6초 • 7명이 동시에 쿼리를 수행해도 동일하게 빠른 성능을 보여줌 • 그런데 한번 조회에 1.34TB면 얼 마지?
  • 52. © NBT All Rights Reserved. How much BigQuery BigQuery구축 시 고민 3 비용 요소 • GCS 비용 + BigQuery Storage 비용 + Query 비용 • BigQuery는 10MB 단위로 청구 (월 1TB 무료) 1.34TB는 약 $6.7 고려 사항 • 사용자가 range query를 제대로 수행 하지 않으면 많은 비용이 발생할 수도 있다. • 대안으로 테이블을 사용자 용도에 맞 게 복제해주거나 구글의 cost control 을 통한 Quota 제한 고민
  • 53. © NBT All Rights Reserved. 기간별table을쉽게생성하는방법?
  • 54. © NBT All Rights Reserved. Table Decorator, Partition Decorator BigQuery가 제공하는 Decorator 장점 • 날짜별 table이 존재하듯이 사용 • 손쉬운 range 검색 • 기간별, 일자별 table 생성이 용이 고려 사항 • Table 생성 시 Partitioned Table로 생성되어야 함 SELECT COUNT(*) FROM cashslide:dataset.table$20160830 2016년 8월 30일 데이터 조회 SELECT COUNT(*) FROM [cashslide:dataset.table@-3600000] 테이블 생성 후 1시간 이전까지의 데이터 조회
  • 55. © NBT All Rights Reserved. 나중에 이걸 확인한다면 BigQuery 적재 작업의 처음으로 돌아가시오. 편리한 Partitionedtables 고려 사항 • Dataset table 생성 시 Date- Partitioned tables로 생성 가능 • 생성 시 Expiration time은 second 기준 • _PARTITIONTIME 이름의 pseudo column 을 포함하며, data 적재 시점을 기준으로 TIMESTAMP(“2016-04-15”) 형식의 값을 저장함. UTC 기준 $bq mk --time_partitioning_type=DAY --time_partitioning_expiration=259200 mydataset.table Partitioned tables 생성 예제 $bq show --format=prettyjson mydataset.table 생성된 테이블 정보 확인 { ... "tableReference": { "datasetId": "mydataset", "projectId": "myproject", "tableId": "table2" }, "timePartitioning": { "expirationMs": "2592000000", "type": "DAY" }, "type": "TABLE" }
  • 56. © NBT All Rights Reserved. Table Decorator 유용한 Decorator2가지 (1/2) 고려 사항 • 최대 7일 이전의 데이터까지 조회 가능 (rollback) • Milliseconds 단위 # Snapshot decorators @<time> # Range decorators @<time1>-<time2> Syntax # Snapshot example SELECT COUNT(*) FROM [cashslide:dataset.table@-3600000] # Range example SELECT COUNT(*) FROM [cashslide:dataset.table@-3600000--1800000] Example
  • 57. © NBT All Rights Reserved. Partition Decorator 유용한 Decorator2가지 (2/2) 고려 사항 • $YYYYMMDD decorator를 이 용한 snapshot 검색 • Pseudo column을 이용한 range 검색 [TABLE_NAME]$YYYYMMDD Syntax # Snapshot example SELECT COUNT(*) FROM cashslide:dataset.table$20160505 # Range example SELECT field FROM table WHERE _PARTITIONTIME BETWEEN TIMESTAMP('2016-01-01') AND TIMESTAMP('2016-01-21'); Example
  • 58. © NBT All Rights Reserved. 이렇게구축한BigQuery를잘활용하는데 도움되는TIP몇가지
  • 59. © NBT All Rights Reserved. BigQuery Composer 여러모로 편리합니다. BigQueryTip1 TIP • Query box 안의 Color를 보면 현재 syntax, dataset name, table name, column name, function name 의 오류를 쉽게 확인 가능 • Results Tab 옆의 Explanation 을 보면 Query 수행 과정이 알기 쉽게 표기되어 Query 성능 개선 가능
  • 60. © NBT All Rights Reserved. File export 는 file당 1G, 일일 최대 10TB 가능 BigQueryTip2 TIP • 쿼리 결과의 export는 파일당 최 대 1G 가능 • 그 이상의 결과를 export 하려는 경우 쿼리 결과에서 ‘Save as Table’로 저장 후 export 항목에 ‘*.json’ 형태로 기입
  • 61. © NBT All Rights Reserved. BigQuery 비용 절감을 위한 Use Cache 사용 BigQueryTip3 TIP • 'Use Cached Results'를 사용하 여 캐싱된 이전 쿼리 결과를 사용 하면 중복되는 쿼리들의 비용을 절감 가능 Query Composer에서 'Show Options'를 눌러보면
  • 62. © NBT All Rights Reserved. Zeppelin 0.6.1부터 ‘%bigquery’인터프리터 지원 BigQueryTip4 TIP • Zeppelin 0.6.1 버전부터 BigQuery Interpreter를 제공 • Data뿐만 아니라 BigQuery Computing resource를 활용하 여 작업 수행 가능 (AWS EMR, Google Dataproc의 비용 불필 요) • 기존 Notebook의 이전 작업이 필요
  • 63. © NBT All Rights Reserved. 손쉽게 연계 사용이 가능한 Data Studio가 무료 BigQueryTip5
  • 64. © NBT All Rights Reserved. 결론: 실시간트렌드변화는Kibana 통계분석에는Zeppelin 이두가지가모두가능한DataStudio 하지만 도구는거들뿐..
  • 65. © NBT All Rights Reserved. Q&A
  • 66. THANK YOU 주소 : 서울시 서초구 서초동 1341-7 조이빌딩