SlideShare a Scribd company logo
1 of 20
고영경 / 그루터
ykko@gruter.com
Apache Tajo와 R을 연동한 빅데이터 분석
목차
오늘의 주제 : 타조알
• R과 빅데이터 분석
• Tajo 소개
• 개요와 특징
• 다양한 환경에서 Tajo 사용하기
• RJDBC를 이용한 Tajo 연동
• Tajo UDF(사용자 정의 함수) 사용
• TajoR 로드맵
• Demo
• Q&A
R과 빅데이터 분석
‘빅' 데이터에 대처하는 R 분석가의 자세
1) R 서버를 업그레이드한다
2) 데이터를 샘플링한다
3) 병렬처리나 분산처리를 위한 R 패키지들을 이용한다 (bigmemory, snowfall, ..)
4) R 외부의 분산 처리 기술을 이용한다 (NoSQL, MapReduce, Hive / RHIPE, RHive, ..)
5) 동료 데이터 엔지니어에게 전처리를 부탁한다
6) 아몰랑~
R과 빅데이터 기술의 역할 분담
• 메모리에 로드하기 힘든 대용량 데이터 분석의 니즈가 점점 증가
• 확장성있는 저장소로 Hadoop을 사용하는 경우가 많아짐
• 대용량 분산처리에 특화된 빅데이터 기술들이 주목받고 있음
(Hadoop/MapReduce, NoSQL, SQL-on-Hadoop)
• 대용량 전처리는 분산 처리 기술로, 정제된 데이터를 R로 정밀 분석하는 역할 분담 가능
Tajo 소개
Apache Tajo™ : 대용량 분산 Data Warehouse 시스템 (SQL-on-Hadoop)
Tajo의 특징 (자신이 생각하는 중요도를 매겨보세요)
• 친숙한 표준 SQL 질의로 데이터 분석
• 페타바이트급 대용량 데이터를 안정적으로 분산 처리
• MapReduce 기반 기술들 (M/R, Hive, Pig) 보다 평균 3배 이상 빠른 속도
• 응답시간 수초 이내의 인터랙티브 분석 지원
• 다양한 저장소 지원 (HDFS, S3, Swift, Local filesystem, HBase, ElasticSearch …)
• 다양한 데이터 포맷 직접 분석 가능 (CSV, JSON, Apache log, 커스텀 포맷, …)
• Tajo API, JDBC 로 다양한 분석툴과 쉽게 연동 (ODBC는 개발 중)
• UDF (User-Defined Function) 지원
• 글로벌 오픈소스 - 아파치 탑레벨 프로젝트
• 개발자 지원 (한글로 물어보면 바로 답변해 주는 친절한 커미터들)
Tajo로 처리하기 적합한 작업
Tajo로 처리하기 적합한 작업
• 메모리에 로드할 수 없는 큰 데이터
• SQL 로 처리할 수 있는 분석 로직 (eg. 필터링, 집계, 정렬, JOIN)
• 테이블 형태의 정형 데이터
• JSON, Apache log 등 반정형 데이터
• HDFS, Local file, Amazon S3 등 다양한 저장소에 있는 데이터
다른 특화된 기술들이 더 적합한 작업
• iterative 연산이 많은 작업 (eg. machine learning)
• 절차적 처리를 해야 하는 경우
• 실시간 처리가 필요한 경우 (eg. 스트리밍 데이터 분석)
다양한 환경에서 Tajo 사용하기
데스크탑 – Tajo Desktop Package (다운로드)
• 하둡 없이 Mac, Linux에 바로 설치하는 stand-alone Tajo 패키지
• 엑셀로 다루기 힘든 큰 데이터를 변환/Load 없이 바로 SQL로 분석
• 작은 데이터 처리에는 mysql 과 비슷한 속도, 데이터가 커질수록 mysql 보다 빠름
클라우드 – Tajo-as-a-Service (http://taas.gruter.com)
• 아마존 웹서비스 등 클라우드 환경에서 Tajo 클러스터를 쉽게 구성해 주는 서비스
• S3 등 클라우드 저장소에 있는 원본 데이터를 직접 액세스 (No ETL)
• EMR bootstrap action 과 EC2 용 AMI (Amazon Machine Image) 제공
설치형 환경
• 하둡을 확장성 높은 스토리지로 사용하는 것이 보통 (그러나 하둡 없이도 사용 가능)
• Tajo DW 환경을 탑재한 H/W 일체형 제품도 있음 (그루터 G-DPU)
Tajo 와 R 연동 - 데이터 준비
CREATE  EXTERNAL  TABLE  ext2008  (
year  int,  month  int,  …  )  
USING  text  with  ('csvfile.delimiter'='|')  
LOCATION  ‘file:///Users/ykko/tajo/data/air2008/’;
1. Airline 데이터 셋 다운로드
2. Tajo 에서 CSV 파일을 External Table 로 연결
$  head  /Users/ykko/tajo/data/air2008/air2008.csv
2008,1,3,4,926,930,1054,1100,WN,1746,N612SW,88,90,78,-­‐6,-­‐4,IND,BWI,515,3,7,0,,0,NA,NA,NA,NA,NA
2008,1,3,4,1829,1755,1959,1925,WN,3920,N464WN,90,90,77,34,34,IND,BWI,515,3,10,0,,0,2,0,0,0,32
2008,1,3,4,1937,1830,2037,1940,WN,509,N763SW,240,250,230,57,67,IND,LAS,1591,3,7,0,,0,10,0,0,0,47
2008,1,3,4,617,615,652,650,WN,11,N689SW,95,95,70,2,2,IND,MCI,451,6,19,0,,0,NA,NA,NA,NA,NA
CREATE  TABLE  air2008  AS    
SELECT  year,  month,  …  ,  
CASE  airtime  WHEN  'NA'  THEN  null  ELSE  airtime::INT  END  as  airtime,  
…  
FROM  ext2008;  
3. 데이터 변환과 정제 등 전처리 (필요시)
RJDBC 로 Tajo 질의 실행
library(RJDBC)
drv <-­‐ JDBC("org.apache.tajo.jdbc.TajoDriver",  
"/Users/ykko/tajo/tajo_single_jdbc/tajo-­‐jdbc-­‐0.10.0-­‐SNAPSHOT.jar")
conn  <-­‐ dbConnect(drv,  "jdbc:tajo://localhost:26002/default",  "",  "")
sql <-­‐ "SELECT  concat(origin,  '  -­‐>  ',  dest)  as  flight,  
count(*)  as  delay_cnt
FROM  airline.air2008
WHERE  weatherdelay >  0
GROUP  BY  flight
ORDER  BY  delay_cnt desc
LIMIT  10  "  
dfrm <-­‐ dbGetQuery(conn,  sql) R>  dfrm
flight          delay_cnt
1    DTW  -­‐>  LGA              435
2    ORD  -­‐>  DFW              418
3    ORD  -­‐>  CVG              383
4    ORD  -­‐>  MSP              371
5    DTW  -­‐>  ORD              370
질의 결과 시각화
library(ggplot2)
ggplot(dfrm,  aes(flight,  delay_cnt))  +  geom_bar(aes(fill  =  flight),  stat  
=  "identity")  +  theme(axis.text.x =  element_text(angle  =  45))
대용량 분산 처리 (맛보기)
conn  <-­‐ dbConnect(drv,  "jdbc:tajo://app01:26002/default",  "",  "")
sql <-­‐ "SELECT  count(*)  as  cnt FROM  tpch100g.lineitem”
cnt <-­‐ dbGetQuery(conn,  sql)
sql <-­‐ "SELECT  l_shipdate,  count(*)  as  cnt
FROM  lineitem
GROUP  by  l_shipdate"
dfrm <-­‐ dbGetQuery(conn,  sql)
4대로 구성된 Tajo 클러스터(1 master, 3 workers) / TPC-H 100GB 데이터셋
Tajo 관리 UI - 질의 실행 상황 확인
http://tajo-master-server:26080
다양한 저장소 지원
하둡, 클라우드 스토리지 등 다양한 저장소를 직접 액세스
이기종 저장소의 데이터간에 조인 처리가 가능
참고: Efficient In-situ Processing of Various Storage Types on Apache Tajo
(최현식 박사, Hadoop Summit 2015 발표자료)
다양한 저장소 지원
CREATE  EXTERNAL  TABLE  ext2008  (  year  text,  …  )  
USING  text  with    ('csvfile.delimiter'=',')  
LOCATION  'hdfs://server:9000/airline/'';
-­‐-­‐ LOCATION  'file:///Users/ykko/Downloads/';
-­‐-­‐ LOCATION  's3://tajo-­‐data-­‐us-­‐east-­‐1/airline/';
USING  hbase WITH  ('table'='blog',  
'columns'=':key,info:author,info:date,content:title');
Hadoop (HDFS), Amazon S3, Local Filesystem
HBase (cf. HBase Integration )
OpenStack Swift (cf. Apache Tajo on Swift )
ElasticSearch, Kafka 지원도 개발 중
다양한 데이터 포맷 지원
CSV, JSON 등 다양한 포맷의 데이터를 직접 액세스 (No ETL)
Custom (De)Serializer 를 플러그인하여 비/반정형 데이터를 변환 없이 바로 SQL 분석 가능
ex. 아파치 웹로그 분석
TajoJSON
Scanner
원본 데이터
Apache Log
Apache Log
Scanner
My Custom
Scanner
Pluggable Scanner
col1 col2 col3
Tajo Tuple Tajo Engine
SQL
Result Set
col1 col2 col3col1 col2 col3
JSONJSONJSON file
My Custom
Log
61.23.4.16  -­‐ -­‐ [15/Oct/2014:09:00:22  +0900]  "GET  /main  HTTP/1.1"  200  942  "-­‐"  "Mozilla/..."
65.13.2.96  -­‐ -­‐ [15/Oct/2014:09:01:23  +0900]  "GET  /help  HTTP/1.1"  200  242  "-­‐"  "Mozilla/..."
65.33.6.10  -­‐ -­‐ [15/Oct/2014:09:01:23  +0900]  "GET  /view  HTTP/1.1"  200  810  "-­‐"  "Mozilla/..."
CREATE  EXTERNAL  TABLE  web_logs (
remote_addr TEXT,  logname TEXT,  remote_user TEXT,
access_timestamp TIMESTAMP,  request_method TEXT,  
request_path TEXT,  http_version TEXT,  response_status TEXT,
transferred_bytes INT,  referrer  TEXT,  user_agent TEXT )
USING  TEXT  WITH  (
'text.serde'='org.apache.tajo.storage.text.ApacheLogLineSerDe',
'text.delimiter'='  ','text.null'='-­‐' )  
LOCATION  'file:///Users/ykko/tajo/tajo-­‐desktop-­‐weblog-­‐2.0/data/web-­‐log';
LogFormat "%h  %l  %u  %t  "%r"  %>s  %b  "%{Referer}i"  "%{User-­‐Agent}i""  combined
Apache Log SerDe
다양한 데이터 포맷 지원 - 웹로그 분석 예제
* 웹로그 SerDe 적용된 브랜치 ( https://github.com/hyunsik/tajo/tree/web_log_parser )
SELECT  extract(hour  from  access_timestamp)  as  hh,  count(*)  as  cnt
FROM  web_logs GROUP  BY  hh ORDER  by  hh
SQL로 분석 (eg. 시간대별 트래픽 집계)
아파치 웹로그 파일을 그대로
Tajo External 테이블로 연결
Tajo UDF (사용자 정의 함수)
Tajo의 UDF 지원
• SQL로 표현하기 힘들거나 불가능한 로직을 Function으로 구현
• UDF (User-Defined Functions) : 사용자가 직접 프로그래밍하여 정의한 함수
• 다양한 언어로 정의 가능. 현재 Java, Python 지원
• eg. Pearson Correlation 을 구하는 Tajo UDF
airline>  SELECT  corr(actualelapsedtime,  crselapsedtime)  FROM  air2008;
Progress:  8%,  response  time:  1.139  sec
Progress:  8%,  response  time:  1.14  sec
Progress:  100%,  response  time:  1.324  sec
?corr
-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐
0.9798745590752236
(1  rows,  1.324  sec,  19  B  selected)
* corr UDF : https://issues.apache.org/jira/browse/TAJO-1661
TajoR 로드맵
R 과 더 친해지기 위한 Tajo의 로드맵
• CRAN 패키지
• Tajo JDBC의 기능 보완 (eg. 진행률 표시)
• 더 스마트한 샘플링
• Approximate query (eg. time-bound, error-bound)
• R 코드로 만드는 Tajo UDF
• 자주 쓰는 통계, 데이터마이닝 기법에 대한 패키지 코드 지원 (eg. t-test 펑션)
• 동시 질의 지원 (multi-tenancy, Fair scheduler 적용 중 )
• Data Frame API 지원
• Tajo 테이블을 data frame으로 바로 매핑. SQL 코딩 없이 사용 가능하게.
함께 해요
Tajo 아직 안 써보셨다면 한번 시도해 보세요. 쉬워요.
• 개발자에게 추천 Getting Started
• 분석가에게 추천 Tajo Desktop Package
• 클라우드 사용자에게 추천 EMR bootstrap action
TajoR 함께 만들어요
• 사용자 특히 분석가의 feedback이 무척 소중합니다
• 코드 기여 대환영입니다
Tajo 커뮤니티는 활짝 열려있습니다.
• Apache Tajo 웹사이트: http://tajo.apache.org
• 한국 Tajo 사용자 그룹 : 구글 그룹스 / 페이스북 페이지
GRUTER: YOUR PARTNER
IN THE BIG DATA REVOLUTION
Phone +82-2-508-5911
Fax +82-2-508-5912
E-mail contact@gruter.com
Web www.gruter.com

More Related Content

What's hot

빅데이터 구축 사례
빅데이터 구축 사례빅데이터 구축 사례
빅데이터 구축 사례Taehyeon Oh
 
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
 
Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013Gruter
 
SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo,  and application case of SK TelecomSQL-on-Hadoop with Apache Tajo,  and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo, and application case of SK TelecomGruter
 
Spark_Overview_qna
Spark_Overview_qnaSpark_Overview_qna
Spark_Overview_qna현철 박
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개Gruter
 
Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum DNA
 
Logstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaLogstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaHyeonSeok Choi
 
[Open Technet Summit 2014] 쓰기 쉬운 Hadoop 기반 빅데이터 플랫폼 아키텍처 및 활용 방안
[Open Technet Summit 2014] 쓰기 쉬운 Hadoop 기반 빅데이터 플랫폼 아키텍처 및 활용 방안[Open Technet Summit 2014] 쓰기 쉬운 Hadoop 기반 빅데이터 플랫폼 아키텍처 및 활용 방안
[Open Technet Summit 2014] 쓰기 쉬운 Hadoop 기반 빅데이터 플랫폼 아키텍처 및 활용 방안치완 박
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-Hadoop
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-HadoopGRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-Hadoop
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-HadoopGruter
 
Spark Day 2017@Seoul(Spark Bootcamp)
Spark Day 2017@Seoul(Spark Bootcamp)Spark Day 2017@Seoul(Spark Bootcamp)
Spark Day 2017@Seoul(Spark Bootcamp)Sang-bae Lim
 
Apache Hive: for business intelligence use and real-time I/O use (Korean)
Apache Hive: for business intelligence use and real-time I/O use (Korean)Apache Hive: for business intelligence use and real-time I/O use (Korean)
Apache Hive: for business intelligence use and real-time I/O use (Korean)Teddy Choi
 
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)SANG WON PARK
 
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912Yooseok Choi
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Gruter
 
[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDWPgDay.Seoul
 
Gpdb best practices v a01 20150313
Gpdb best practices v a01 20150313Gpdb best practices v a01 20150313
Gpdb best practices v a01 20150313Sanghee Lee
 

What's hot (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)
 
Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013
 
SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo,  and application case of SK TelecomSQL-on-Hadoop with Apache Tajo,  and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
 
Spark_Overview_qna
Spark_Overview_qnaSpark_Overview_qna
Spark_Overview_qna
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: GRUTER의 빅데이터 플랫폼 및 전략 소개
 
Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012
 
Logstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaLogstash, ElasticSearch, Kibana
Logstash, ElasticSearch, Kibana
 
[Open Technet Summit 2014] 쓰기 쉬운 Hadoop 기반 빅데이터 플랫폼 아키텍처 및 활용 방안
[Open Technet Summit 2014] 쓰기 쉬운 Hadoop 기반 빅데이터 플랫폼 아키텍처 및 활용 방안[Open Technet Summit 2014] 쓰기 쉬운 Hadoop 기반 빅데이터 플랫폼 아키텍처 및 활용 방안
[Open Technet Summit 2014] 쓰기 쉬운 Hadoop 기반 빅데이터 플랫폼 아키텍처 및 활용 방안
 
Elastic stack
Elastic stackElastic stack
Elastic stack
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-Hadoop
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-HadoopGRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-Hadoop
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-Hadoop
 
Spark Day 2017@Seoul(Spark Bootcamp)
Spark Day 2017@Seoul(Spark Bootcamp)Spark Day 2017@Seoul(Spark Bootcamp)
Spark Day 2017@Seoul(Spark Bootcamp)
 
Apache Hive: for business intelligence use and real-time I/O use (Korean)
Apache Hive: for business intelligence use and real-time I/O use (Korean)Apache Hive: for business intelligence use and real-time I/O use (Korean)
Apache Hive: for business intelligence use and real-time I/O use (Korean)
 
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
 
Apache Kylin
Apache KylinApache Kylin
Apache Kylin
 
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014
 
elasticsearch
elasticsearchelasticsearch
elasticsearch
 
[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW
 
Gpdb best practices v a01 20150313
Gpdb best practices v a01 20150313Gpdb best practices v a01 20150313
Gpdb best practices v a01 20150313
 

Viewers also liked

Net flowhadoop flocon2013_yhlee_final
Net flowhadoop flocon2013_yhlee_finalNet flowhadoop flocon2013_yhlee_final
Net flowhadoop flocon2013_yhlee_finalYeounhee Lee
 
AWSKRUG 콘퍼런스 - re:Invent 신규 서비스 (윤석찬) - 빅데이터 분석, 모바일 및 IoT를 중심으로
AWSKRUG 콘퍼런스 - re:Invent 신규 서비스 (윤석찬) - 빅데이터 분석, 모바일 및 IoT를 중심으로AWSKRUG 콘퍼런스 - re:Invent 신규 서비스 (윤석찬) - 빅데이터 분석, 모바일 및 IoT를 중심으로
AWSKRUG 콘퍼런스 - re:Invent 신규 서비스 (윤석찬) - 빅데이터 분석, 모바일 및 IoT를 중심으로AWSKRUG - AWS한국사용자모임
 
244 5rocks-deview
244 5rocks-deview244 5rocks-deview
244 5rocks-deviewNAVER D2
 
R을 이용한 게임 데이터 분석
R을 이용한 게임 데이터 분석R을 이용한 게임 데이터 분석
R을 이용한 게임 데이터 분석Eun-Jo Lee
 
온라인 서비스 개선을 데이터 활용법 - 김진영 (How We Use Data)
온라인 서비스 개선을 데이터 활용법  - 김진영 (How We Use Data)온라인 서비스 개선을 데이터 활용법  - 김진영 (How We Use Data)
온라인 서비스 개선을 데이터 활용법 - 김진영 (How We Use Data)Jin Young Kim
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기AWSKRUG - AWS한국사용자모임
 
Tajo Seoul Meetup July 2015 - What's New Tajo 0.11
Tajo Seoul Meetup July 2015 - What's New Tajo 0.11Tajo Seoul Meetup July 2015 - What's New Tajo 0.11
Tajo Seoul Meetup July 2015 - What's New Tajo 0.11Hyunsik Choi
 
Introduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big DataIntroduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big DataGruter
 
R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1happychallenge
 
데이터분석을통한게임유저모델링
데이터분석을통한게임유저모델링데이터분석을통한게임유저모델링
데이터분석을통한게임유저모델링Eun-Jo Lee
 
Deep Learning for Java (DL4J)
Deep Learning for Java (DL4J)Deep Learning for Java (DL4J)
Deep Learning for Java (DL4J)신동 강
 
OSGeo와 Open Data
OSGeo와 Open DataOSGeo와 Open Data
OSGeo와 Open Datar-kor
 
황성수 공공데이터 개방과 공공이슈 해결
황성수 공공데이터 개방과 공공이슈 해결황성수 공공데이터 개방과 공공이슈 해결
황성수 공공데이터 개방과 공공이슈 해결r-kor
 
MelOn 빅데이터 플랫폼과 Tajo 이야기
MelOn 빅데이터 플랫폼과 Tajo 이야기MelOn 빅데이터 플랫폼과 Tajo 이야기
MelOn 빅데이터 플랫폼과 Tajo 이야기Gruter
 
Distributed R: The Next Generation Platform for Predictive Analytics
Distributed R: The Next Generation Platform for Predictive AnalyticsDistributed R: The Next Generation Platform for Predictive Analytics
Distributed R: The Next Generation Platform for Predictive AnalyticsJorge Martinez de Salinas
 
Deciphering voice of customer through speech analytics
Deciphering voice of customer through speech analyticsDeciphering voice of customer through speech analytics
Deciphering voice of customer through speech analyticsR Systems International
 
Optimizing Facebook Campaigns with R
Optimizing Facebook Campaigns with ROptimizing Facebook Campaigns with R
Optimizing Facebook Campaigns with RDomino Data Lab
 
Cloud Conf 2015 - Develop and Deploy IOT Applications
Cloud Conf 2015 - Develop and Deploy IOT ApplicationsCloud Conf 2015 - Develop and Deploy IOT Applications
Cloud Conf 2015 - Develop and Deploy IOT ApplicationsCorley S.r.l.
 
Implementing a highly scalable stock prediction system with R, Geode, SpringX...
Implementing a highly scalable stock prediction system with R, Geode, SpringX...Implementing a highly scalable stock prediction system with R, Geode, SpringX...
Implementing a highly scalable stock prediction system with R, Geode, SpringX...William Markito Oliveira
 

Viewers also liked (20)

Net flowhadoop flocon2013_yhlee_final
Net flowhadoop flocon2013_yhlee_finalNet flowhadoop flocon2013_yhlee_final
Net flowhadoop flocon2013_yhlee_final
 
AWSKRUG 콘퍼런스 - re:Invent 신규 서비스 (윤석찬) - 빅데이터 분석, 모바일 및 IoT를 중심으로
AWSKRUG 콘퍼런스 - re:Invent 신규 서비스 (윤석찬) - 빅데이터 분석, 모바일 및 IoT를 중심으로AWSKRUG 콘퍼런스 - re:Invent 신규 서비스 (윤석찬) - 빅데이터 분석, 모바일 및 IoT를 중심으로
AWSKRUG 콘퍼런스 - re:Invent 신규 서비스 (윤석찬) - 빅데이터 분석, 모바일 및 IoT를 중심으로
 
244 5rocks-deview
244 5rocks-deview244 5rocks-deview
244 5rocks-deview
 
R을 이용한 게임 데이터 분석
R을 이용한 게임 데이터 분석R을 이용한 게임 데이터 분석
R을 이용한 게임 데이터 분석
 
reveal.js 3.0.0
reveal.js 3.0.0reveal.js 3.0.0
reveal.js 3.0.0
 
온라인 서비스 개선을 데이터 활용법 - 김진영 (How We Use Data)
온라인 서비스 개선을 데이터 활용법  - 김진영 (How We Use Data)온라인 서비스 개선을 데이터 활용법  - 김진영 (How We Use Data)
온라인 서비스 개선을 데이터 활용법 - 김진영 (How We Use Data)
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
 
Tajo Seoul Meetup July 2015 - What's New Tajo 0.11
Tajo Seoul Meetup July 2015 - What's New Tajo 0.11Tajo Seoul Meetup July 2015 - What's New Tajo 0.11
Tajo Seoul Meetup July 2015 - What's New Tajo 0.11
 
Introduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big DataIntroduction to Apache Tajo: Data Warehouse for Big Data
Introduction to Apache Tajo: Data Warehouse for Big Data
 
R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1R 프로그램의 이해와 활용 v1.1
R 프로그램의 이해와 활용 v1.1
 
데이터분석을통한게임유저모델링
데이터분석을통한게임유저모델링데이터분석을통한게임유저모델링
데이터분석을통한게임유저모델링
 
Deep Learning for Java (DL4J)
Deep Learning for Java (DL4J)Deep Learning for Java (DL4J)
Deep Learning for Java (DL4J)
 
OSGeo와 Open Data
OSGeo와 Open DataOSGeo와 Open Data
OSGeo와 Open Data
 
황성수 공공데이터 개방과 공공이슈 해결
황성수 공공데이터 개방과 공공이슈 해결황성수 공공데이터 개방과 공공이슈 해결
황성수 공공데이터 개방과 공공이슈 해결
 
MelOn 빅데이터 플랫폼과 Tajo 이야기
MelOn 빅데이터 플랫폼과 Tajo 이야기MelOn 빅데이터 플랫폼과 Tajo 이야기
MelOn 빅데이터 플랫폼과 Tajo 이야기
 
Distributed R: The Next Generation Platform for Predictive Analytics
Distributed R: The Next Generation Platform for Predictive AnalyticsDistributed R: The Next Generation Platform for Predictive Analytics
Distributed R: The Next Generation Platform for Predictive Analytics
 
Deciphering voice of customer through speech analytics
Deciphering voice of customer through speech analyticsDeciphering voice of customer through speech analytics
Deciphering voice of customer through speech analytics
 
Optimizing Facebook Campaigns with R
Optimizing Facebook Campaigns with ROptimizing Facebook Campaigns with R
Optimizing Facebook Campaigns with R
 
Cloud Conf 2015 - Develop and Deploy IOT Applications
Cloud Conf 2015 - Develop and Deploy IOT ApplicationsCloud Conf 2015 - Develop and Deploy IOT Applications
Cloud Conf 2015 - Develop and Deploy IOT Applications
 
Implementing a highly scalable stock prediction system with R, Geode, SpringX...
Implementing a highly scalable stock prediction system with R, Geode, SpringX...Implementing a highly scalable stock prediction system with R, Geode, SpringX...
Implementing a highly scalable stock prediction system with R, Geode, SpringX...
 

Similar to Big data analysis with R and Apache Tajo (in Korean)

Tajo korea meetup oct 2015-spatial tajo
Tajo korea meetup oct 2015-spatial tajoTajo korea meetup oct 2015-spatial tajo
Tajo korea meetup oct 2015-spatial tajoBD
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWSMatthew (정재화)
 
Expanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with TajoExpanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with TajoGruter
 
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017Amazon Web Services Korea
 
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4Seok-joon Yun
 
[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)NAVER D2
 
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재PgDay.Seoul
 
[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준NAVER D2
 
Elastic Stack & Data pipeline
Elastic Stack & Data pipelineElastic Stack & Data pipeline
Elastic Stack & Data pipelineJongho Woo
 
주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기Yeonhee Kim
 
7가지 동시성 모델 람다아키텍처
7가지 동시성 모델  람다아키텍처7가지 동시성 모델  람다아키텍처
7가지 동시성 모델 람다아키텍처Sunggon Song
 
From MSSQL to MySQL
From MSSQL to MySQLFrom MSSQL to MySQL
From MSSQL to MySQLI Goo Lee
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례Gruter
 
엔지니어 관점에서 바라본 데이터시각화
엔지니어 관점에서 바라본 데이터시각화엔지니어 관점에서 바라본 데이터시각화
엔지니어 관점에서 바라본 데이터시각화Kenneth Ceyer
 
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018Amazon Web Services Korea
 
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1Seok-joon Yun
 

Similar to Big data analysis with R and Apache Tajo (in Korean) (20)

Tajo korea meetup oct 2015-spatial tajo
Tajo korea meetup oct 2015-spatial tajoTajo korea meetup oct 2015-spatial tajo
Tajo korea meetup oct 2015-spatial tajo
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
 
Expanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with TajoExpanding Your Data Warehouse with Tajo
Expanding Your Data Warehouse with Tajo
 
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
 
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
 
Spark sql
Spark sqlSpark sql
Spark sql
 
[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)
 
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
 
[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준
 
Elastic Stack & Data pipeline
Elastic Stack & Data pipelineElastic Stack & Data pipeline
Elastic Stack & Data pipeline
 
Apache hive
Apache hiveApache hive
Apache hive
 
주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기
 
Mongo db 최범균
Mongo db 최범균Mongo db 최범균
Mongo db 최범균
 
7가지 동시성 모델 람다아키텍처
7가지 동시성 모델  람다아키텍처7가지 동시성 모델  람다아키텍처
7가지 동시성 모델 람다아키텍처
 
From MSSQL to MySQL
From MSSQL to MySQLFrom MSSQL to MySQL
From MSSQL to MySQL
 
Hadoop overview
Hadoop overviewHadoop overview
Hadoop overview
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
 
엔지니어 관점에서 바라본 데이터시각화
엔지니어 관점에서 바라본 데이터시각화엔지니어 관점에서 바라본 데이터시각화
엔지니어 관점에서 바라본 데이터시각화
 
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
 
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
 

More from Gruter

Introduction to Apache Tajo: Future of Data Warehouse
Introduction to Apache Tajo: Future of Data WarehouseIntroduction to Apache Tajo: Future of Data Warehouse
Introduction to Apache Tajo: Future of Data WarehouseGruter
 
What's New Tajo 0.10 and Its Beyond
What's New Tajo 0.10 and Its BeyondWhat's New Tajo 0.10 and Its Beyond
What's New Tajo 0.10 and Its BeyondGruter
 
Efficient In­‐situ Processing of Various Storage Types on Apache Tajo
Efficient In­‐situ Processing of Various Storage Types on Apache TajoEfficient In­‐situ Processing of Various Storage Types on Apache Tajo
Efficient In­‐situ Processing of Various Storage Types on Apache TajoGruter
 
Gruter TECHDAY 2014 Realtime Processing in Telco
Gruter TECHDAY 2014 Realtime Processing in TelcoGruter TECHDAY 2014 Realtime Processing in Telco
Gruter TECHDAY 2014 Realtime Processing in TelcoGruter
 
Gruter_TECHDAY_2014_04_TajoCloudHandsOn (in Korean)
Gruter_TECHDAY_2014_04_TajoCloudHandsOn (in Korean)Gruter_TECHDAY_2014_04_TajoCloudHandsOn (in Korean)
Gruter_TECHDAY_2014_04_TajoCloudHandsOn (in Korean)Gruter
 
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)Gruter
 
Gruter_TECHDAY_2014_01_SearchEngine (in Korean)
Gruter_TECHDAY_2014_01_SearchEngine (in Korean)Gruter_TECHDAY_2014_01_SearchEngine (in Korean)
Gruter_TECHDAY_2014_01_SearchEngine (in Korean)Gruter
 
Apache Tajo - BWC 2014
Apache Tajo - BWC 2014Apache Tajo - BWC 2014
Apache Tajo - BWC 2014Gruter
 
Hadoop security DeView 2014
Hadoop security DeView 2014Hadoop security DeView 2014
Hadoop security DeView 2014Gruter
 
Big Data Camp LA 2014 - Apache Tajo: A Big Data Warehouse System on Hadoop
Big Data Camp LA 2014 - Apache Tajo: A Big Data Warehouse System on HadoopBig Data Camp LA 2014 - Apache Tajo: A Big Data Warehouse System on Hadoop
Big Data Camp LA 2014 - Apache Tajo: A Big Data Warehouse System on HadoopGruter
 
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...Gruter
 
Cloumon sw제품설명회 발표자료
Cloumon sw제품설명회 발표자료Cloumon sw제품설명회 발표자료
Cloumon sw제품설명회 발표자료Gruter
 
Tajo case study bay area hug 20131105
Tajo case study bay area hug 20131105Tajo case study bay area hug 20131105
Tajo case study bay area hug 20131105Gruter
 
Apache Tajo - Bay Area HUG Nov. 2013 LinkedIn Special Event
Apache Tajo - Bay Area HUG Nov. 2013 LinkedIn Special EventApache Tajo - Bay Area HUG Nov. 2013 LinkedIn Special Event
Apache Tajo - Bay Area HUG Nov. 2013 LinkedIn Special EventGruter
 
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
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 온라인 컨텐츠 서비스를 위한 빅데이터 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 온라인 컨텐츠 서비스를 위한 빅데이터 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 온라인 컨텐츠 서비스를 위한 빅데이터 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 온라인 컨텐츠 서비스를 위한 빅데이터 구축 사례Gruter
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...Gruter
 

More from Gruter (17)

Introduction to Apache Tajo: Future of Data Warehouse
Introduction to Apache Tajo: Future of Data WarehouseIntroduction to Apache Tajo: Future of Data Warehouse
Introduction to Apache Tajo: Future of Data Warehouse
 
What's New Tajo 0.10 and Its Beyond
What's New Tajo 0.10 and Its BeyondWhat's New Tajo 0.10 and Its Beyond
What's New Tajo 0.10 and Its Beyond
 
Efficient In­‐situ Processing of Various Storage Types on Apache Tajo
Efficient In­‐situ Processing of Various Storage Types on Apache TajoEfficient In­‐situ Processing of Various Storage Types on Apache Tajo
Efficient In­‐situ Processing of Various Storage Types on Apache Tajo
 
Gruter TECHDAY 2014 Realtime Processing in Telco
Gruter TECHDAY 2014 Realtime Processing in TelcoGruter TECHDAY 2014 Realtime Processing in Telco
Gruter TECHDAY 2014 Realtime Processing in Telco
 
Gruter_TECHDAY_2014_04_TajoCloudHandsOn (in Korean)
Gruter_TECHDAY_2014_04_TajoCloudHandsOn (in Korean)Gruter_TECHDAY_2014_04_TajoCloudHandsOn (in Korean)
Gruter_TECHDAY_2014_04_TajoCloudHandsOn (in Korean)
 
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)
 
Gruter_TECHDAY_2014_01_SearchEngine (in Korean)
Gruter_TECHDAY_2014_01_SearchEngine (in Korean)Gruter_TECHDAY_2014_01_SearchEngine (in Korean)
Gruter_TECHDAY_2014_01_SearchEngine (in Korean)
 
Apache Tajo - BWC 2014
Apache Tajo - BWC 2014Apache Tajo - BWC 2014
Apache Tajo - BWC 2014
 
Hadoop security DeView 2014
Hadoop security DeView 2014Hadoop security DeView 2014
Hadoop security DeView 2014
 
Big Data Camp LA 2014 - Apache Tajo: A Big Data Warehouse System on Hadoop
Big Data Camp LA 2014 - Apache Tajo: A Big Data Warehouse System on HadoopBig Data Camp LA 2014 - Apache Tajo: A Big Data Warehouse System on Hadoop
Big Data Camp LA 2014 - Apache Tajo: A Big Data Warehouse System on Hadoop
 
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...
 
Cloumon sw제품설명회 발표자료
Cloumon sw제품설명회 발표자료Cloumon sw제품설명회 발표자료
Cloumon sw제품설명회 발표자료
 
Tajo case study bay area hug 20131105
Tajo case study bay area hug 20131105Tajo case study bay area hug 20131105
Tajo case study bay area hug 20131105
 
Apache Tajo - Bay Area HUG Nov. 2013 LinkedIn Special Event
Apache Tajo - Bay Area HUG Nov. 2013 LinkedIn Special EventApache Tajo - Bay Area HUG Nov. 2013 LinkedIn Special Event
Apache Tajo - Bay Area HUG Nov. 2013 LinkedIn Special Event
 
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
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 온라인 컨텐츠 서비스를 위한 빅데이터 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 온라인 컨텐츠 서비스를 위한 빅데이터 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 온라인 컨텐츠 서비스를 위한 빅데이터 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 온라인 컨텐츠 서비스를 위한 빅데이터 구축 사례
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...
 

Big data analysis with R and Apache Tajo (in Korean)

  • 1. 고영경 / 그루터 ykko@gruter.com Apache Tajo와 R을 연동한 빅데이터 분석
  • 2. 목차 오늘의 주제 : 타조알 • R과 빅데이터 분석 • Tajo 소개 • 개요와 특징 • 다양한 환경에서 Tajo 사용하기 • RJDBC를 이용한 Tajo 연동 • Tajo UDF(사용자 정의 함수) 사용 • TajoR 로드맵 • Demo • Q&A
  • 3. R과 빅데이터 분석 ‘빅' 데이터에 대처하는 R 분석가의 자세 1) R 서버를 업그레이드한다 2) 데이터를 샘플링한다 3) 병렬처리나 분산처리를 위한 R 패키지들을 이용한다 (bigmemory, snowfall, ..) 4) R 외부의 분산 처리 기술을 이용한다 (NoSQL, MapReduce, Hive / RHIPE, RHive, ..) 5) 동료 데이터 엔지니어에게 전처리를 부탁한다 6) 아몰랑~
  • 4. R과 빅데이터 기술의 역할 분담 • 메모리에 로드하기 힘든 대용량 데이터 분석의 니즈가 점점 증가 • 확장성있는 저장소로 Hadoop을 사용하는 경우가 많아짐 • 대용량 분산처리에 특화된 빅데이터 기술들이 주목받고 있음 (Hadoop/MapReduce, NoSQL, SQL-on-Hadoop) • 대용량 전처리는 분산 처리 기술로, 정제된 데이터를 R로 정밀 분석하는 역할 분담 가능
  • 5. Tajo 소개 Apache Tajo™ : 대용량 분산 Data Warehouse 시스템 (SQL-on-Hadoop) Tajo의 특징 (자신이 생각하는 중요도를 매겨보세요) • 친숙한 표준 SQL 질의로 데이터 분석 • 페타바이트급 대용량 데이터를 안정적으로 분산 처리 • MapReduce 기반 기술들 (M/R, Hive, Pig) 보다 평균 3배 이상 빠른 속도 • 응답시간 수초 이내의 인터랙티브 분석 지원 • 다양한 저장소 지원 (HDFS, S3, Swift, Local filesystem, HBase, ElasticSearch …) • 다양한 데이터 포맷 직접 분석 가능 (CSV, JSON, Apache log, 커스텀 포맷, …) • Tajo API, JDBC 로 다양한 분석툴과 쉽게 연동 (ODBC는 개발 중) • UDF (User-Defined Function) 지원 • 글로벌 오픈소스 - 아파치 탑레벨 프로젝트 • 개발자 지원 (한글로 물어보면 바로 답변해 주는 친절한 커미터들)
  • 6. Tajo로 처리하기 적합한 작업 Tajo로 처리하기 적합한 작업 • 메모리에 로드할 수 없는 큰 데이터 • SQL 로 처리할 수 있는 분석 로직 (eg. 필터링, 집계, 정렬, JOIN) • 테이블 형태의 정형 데이터 • JSON, Apache log 등 반정형 데이터 • HDFS, Local file, Amazon S3 등 다양한 저장소에 있는 데이터 다른 특화된 기술들이 더 적합한 작업 • iterative 연산이 많은 작업 (eg. machine learning) • 절차적 처리를 해야 하는 경우 • 실시간 처리가 필요한 경우 (eg. 스트리밍 데이터 분석)
  • 7. 다양한 환경에서 Tajo 사용하기 데스크탑 – Tajo Desktop Package (다운로드) • 하둡 없이 Mac, Linux에 바로 설치하는 stand-alone Tajo 패키지 • 엑셀로 다루기 힘든 큰 데이터를 변환/Load 없이 바로 SQL로 분석 • 작은 데이터 처리에는 mysql 과 비슷한 속도, 데이터가 커질수록 mysql 보다 빠름 클라우드 – Tajo-as-a-Service (http://taas.gruter.com) • 아마존 웹서비스 등 클라우드 환경에서 Tajo 클러스터를 쉽게 구성해 주는 서비스 • S3 등 클라우드 저장소에 있는 원본 데이터를 직접 액세스 (No ETL) • EMR bootstrap action 과 EC2 용 AMI (Amazon Machine Image) 제공 설치형 환경 • 하둡을 확장성 높은 스토리지로 사용하는 것이 보통 (그러나 하둡 없이도 사용 가능) • Tajo DW 환경을 탑재한 H/W 일체형 제품도 있음 (그루터 G-DPU)
  • 8. Tajo 와 R 연동 - 데이터 준비 CREATE  EXTERNAL  TABLE  ext2008  ( year  int,  month  int,  …  )   USING  text  with  ('csvfile.delimiter'='|')   LOCATION  ‘file:///Users/ykko/tajo/data/air2008/’; 1. Airline 데이터 셋 다운로드 2. Tajo 에서 CSV 파일을 External Table 로 연결 $  head  /Users/ykko/tajo/data/air2008/air2008.csv 2008,1,3,4,926,930,1054,1100,WN,1746,N612SW,88,90,78,-­‐6,-­‐4,IND,BWI,515,3,7,0,,0,NA,NA,NA,NA,NA 2008,1,3,4,1829,1755,1959,1925,WN,3920,N464WN,90,90,77,34,34,IND,BWI,515,3,10,0,,0,2,0,0,0,32 2008,1,3,4,1937,1830,2037,1940,WN,509,N763SW,240,250,230,57,67,IND,LAS,1591,3,7,0,,0,10,0,0,0,47 2008,1,3,4,617,615,652,650,WN,11,N689SW,95,95,70,2,2,IND,MCI,451,6,19,0,,0,NA,NA,NA,NA,NA CREATE  TABLE  air2008  AS     SELECT  year,  month,  …  ,   CASE  airtime  WHEN  'NA'  THEN  null  ELSE  airtime::INT  END  as  airtime,   …   FROM  ext2008;   3. 데이터 변환과 정제 등 전처리 (필요시)
  • 9. RJDBC 로 Tajo 질의 실행 library(RJDBC) drv <-­‐ JDBC("org.apache.tajo.jdbc.TajoDriver",   "/Users/ykko/tajo/tajo_single_jdbc/tajo-­‐jdbc-­‐0.10.0-­‐SNAPSHOT.jar") conn  <-­‐ dbConnect(drv,  "jdbc:tajo://localhost:26002/default",  "",  "") sql <-­‐ "SELECT  concat(origin,  '  -­‐>  ',  dest)  as  flight,   count(*)  as  delay_cnt FROM  airline.air2008 WHERE  weatherdelay >  0 GROUP  BY  flight ORDER  BY  delay_cnt desc LIMIT  10  "   dfrm <-­‐ dbGetQuery(conn,  sql) R>  dfrm flight          delay_cnt 1    DTW  -­‐>  LGA              435 2    ORD  -­‐>  DFW              418 3    ORD  -­‐>  CVG              383 4    ORD  -­‐>  MSP              371 5    DTW  -­‐>  ORD              370
  • 10. 질의 결과 시각화 library(ggplot2) ggplot(dfrm,  aes(flight,  delay_cnt))  +  geom_bar(aes(fill  =  flight),  stat   =  "identity")  +  theme(axis.text.x =  element_text(angle  =  45))
  • 11. 대용량 분산 처리 (맛보기) conn  <-­‐ dbConnect(drv,  "jdbc:tajo://app01:26002/default",  "",  "") sql <-­‐ "SELECT  count(*)  as  cnt FROM  tpch100g.lineitem” cnt <-­‐ dbGetQuery(conn,  sql) sql <-­‐ "SELECT  l_shipdate,  count(*)  as  cnt FROM  lineitem GROUP  by  l_shipdate" dfrm <-­‐ dbGetQuery(conn,  sql) 4대로 구성된 Tajo 클러스터(1 master, 3 workers) / TPC-H 100GB 데이터셋
  • 12. Tajo 관리 UI - 질의 실행 상황 확인 http://tajo-master-server:26080
  • 13. 다양한 저장소 지원 하둡, 클라우드 스토리지 등 다양한 저장소를 직접 액세스 이기종 저장소의 데이터간에 조인 처리가 가능 참고: Efficient In-situ Processing of Various Storage Types on Apache Tajo (최현식 박사, Hadoop Summit 2015 발표자료)
  • 14. 다양한 저장소 지원 CREATE  EXTERNAL  TABLE  ext2008  (  year  text,  …  )   USING  text  with    ('csvfile.delimiter'=',')   LOCATION  'hdfs://server:9000/airline/''; -­‐-­‐ LOCATION  'file:///Users/ykko/Downloads/'; -­‐-­‐ LOCATION  's3://tajo-­‐data-­‐us-­‐east-­‐1/airline/'; USING  hbase WITH  ('table'='blog',   'columns'=':key,info:author,info:date,content:title'); Hadoop (HDFS), Amazon S3, Local Filesystem HBase (cf. HBase Integration ) OpenStack Swift (cf. Apache Tajo on Swift ) ElasticSearch, Kafka 지원도 개발 중
  • 15. 다양한 데이터 포맷 지원 CSV, JSON 등 다양한 포맷의 데이터를 직접 액세스 (No ETL) Custom (De)Serializer 를 플러그인하여 비/반정형 데이터를 변환 없이 바로 SQL 분석 가능 ex. 아파치 웹로그 분석 TajoJSON Scanner 원본 데이터 Apache Log Apache Log Scanner My Custom Scanner Pluggable Scanner col1 col2 col3 Tajo Tuple Tajo Engine SQL Result Set col1 col2 col3col1 col2 col3 JSONJSONJSON file My Custom Log
  • 16. 61.23.4.16  -­‐ -­‐ [15/Oct/2014:09:00:22  +0900]  "GET  /main  HTTP/1.1"  200  942  "-­‐"  "Mozilla/..." 65.13.2.96  -­‐ -­‐ [15/Oct/2014:09:01:23  +0900]  "GET  /help  HTTP/1.1"  200  242  "-­‐"  "Mozilla/..." 65.33.6.10  -­‐ -­‐ [15/Oct/2014:09:01:23  +0900]  "GET  /view  HTTP/1.1"  200  810  "-­‐"  "Mozilla/..." CREATE  EXTERNAL  TABLE  web_logs ( remote_addr TEXT,  logname TEXT,  remote_user TEXT, access_timestamp TIMESTAMP,  request_method TEXT,   request_path TEXT,  http_version TEXT,  response_status TEXT, transferred_bytes INT,  referrer  TEXT,  user_agent TEXT ) USING  TEXT  WITH  ( 'text.serde'='org.apache.tajo.storage.text.ApacheLogLineSerDe', 'text.delimiter'='  ','text.null'='-­‐' )   LOCATION  'file:///Users/ykko/tajo/tajo-­‐desktop-­‐weblog-­‐2.0/data/web-­‐log'; LogFormat "%h  %l  %u  %t  "%r"  %>s  %b  "%{Referer}i"  "%{User-­‐Agent}i""  combined Apache Log SerDe 다양한 데이터 포맷 지원 - 웹로그 분석 예제 * 웹로그 SerDe 적용된 브랜치 ( https://github.com/hyunsik/tajo/tree/web_log_parser ) SELECT  extract(hour  from  access_timestamp)  as  hh,  count(*)  as  cnt FROM  web_logs GROUP  BY  hh ORDER  by  hh SQL로 분석 (eg. 시간대별 트래픽 집계) 아파치 웹로그 파일을 그대로 Tajo External 테이블로 연결
  • 17. Tajo UDF (사용자 정의 함수) Tajo의 UDF 지원 • SQL로 표현하기 힘들거나 불가능한 로직을 Function으로 구현 • UDF (User-Defined Functions) : 사용자가 직접 프로그래밍하여 정의한 함수 • 다양한 언어로 정의 가능. 현재 Java, Python 지원 • eg. Pearson Correlation 을 구하는 Tajo UDF airline>  SELECT  corr(actualelapsedtime,  crselapsedtime)  FROM  air2008; Progress:  8%,  response  time:  1.139  sec Progress:  8%,  response  time:  1.14  sec Progress:  100%,  response  time:  1.324  sec ?corr -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ 0.9798745590752236 (1  rows,  1.324  sec,  19  B  selected) * corr UDF : https://issues.apache.org/jira/browse/TAJO-1661
  • 18. TajoR 로드맵 R 과 더 친해지기 위한 Tajo의 로드맵 • CRAN 패키지 • Tajo JDBC의 기능 보완 (eg. 진행률 표시) • 더 스마트한 샘플링 • Approximate query (eg. time-bound, error-bound) • R 코드로 만드는 Tajo UDF • 자주 쓰는 통계, 데이터마이닝 기법에 대한 패키지 코드 지원 (eg. t-test 펑션) • 동시 질의 지원 (multi-tenancy, Fair scheduler 적용 중 ) • Data Frame API 지원 • Tajo 테이블을 data frame으로 바로 매핑. SQL 코딩 없이 사용 가능하게.
  • 19. 함께 해요 Tajo 아직 안 써보셨다면 한번 시도해 보세요. 쉬워요. • 개발자에게 추천 Getting Started • 분석가에게 추천 Tajo Desktop Package • 클라우드 사용자에게 추천 EMR bootstrap action TajoR 함께 만들어요 • 사용자 특히 분석가의 feedback이 무척 소중합니다 • 코드 기여 대환영입니다 Tajo 커뮤니티는 활짝 열려있습니다. • Apache Tajo 웹사이트: http://tajo.apache.org • 한국 Tajo 사용자 그룹 : 구글 그룹스 / 페이스북 페이지
  • 20. GRUTER: YOUR PARTNER IN THE BIG DATA REVOLUTION Phone +82-2-508-5911 Fax +82-2-508-5912 E-mail contact@gruter.com Web www.gruter.com