SlideShare a Scribd company logo
Zeppelin (powered by Apache Spark) 
으로 데이터 분석하기 
2014-11-05 
스사모 (한국 스파크 사용자 모임) 
https://www.facebook.com/groups/sparkkoreauser/ 
! 
김상우, VCNC(비트윈) 
sangwookim.me@gmail.com
Apache Spark? 
• MapReduce 와 유사한 작업이 가능 
• 확장성 (Spark SQL, Spark Streaming, MLLib, GraphX) 
• MapReduce보다 훨씬 간단한 인터페이스, 배우기 쉬움 
(Scala, REPL) 
• 작업 종류에 따라 MapReduce의 5배~50배 빠름 (In- 
Memory Data) 
• Hadoop Storage 호환 (HDFS, HBase, S3, ..)
왜 필요한가? 
• MapReduce, Hive (기존의 지배 기술들) 
• 매우 강력하지만, 작업이 복잡할수록 비효율적이다. (중 
간 결과를 계속해서 HDFS에 저장) 
• API가 복잡하고, MR Job 여러개를 Chaining해서 작업 
을 만들어놓으면, 유지보수하기가 어렵다.
Spark Key Concept 
• RDD (Resilient Distributed Datasets) 
‣ 클러스터 전체에서 공유되는 리스트, 메모리상에 올라가있음. (메모리 부족한 경우, 
디스크에 spill) 
‣ map, reduce, count, filter, join 등 다양한 작업 가능 
‣ 여러 작업을 설정해두고, 결과를 얻을 때 lazy하게 계산 
• Scala 
‣ 데이터 분석 하기에 아주 좋은 언어 
‣ 강력한 expression, Java와의 호환성 
‣ Interactive Shell (REPL)
Spark은 좋다 
• 수십대의 Hadoop Cluster로 큰 작업을 돌려야 했던 경우, 
10대 이하의 Cluster로 대체할 수 있다 
• 클러스터로 돌려야 하던 작업을 1~2대로 돌릴 수 있다 
• 수십분 기다려야 하던 작업이 1분만에 완료된다 
• MR 작업 코드 만들고, 패키징하고, submit하고 하던 복잡 
한 과정이, shell에서 코드 한줄 치는것으로 대체된다 
• 처음 접하는 사람도 배우기 쉽다
Code Examples (1) 
! 
Word Count
Word Count 
val file = spark.textFile("hdfs://...") 
val counts = file.flatMap(line => line.split(" ")) 
.map(word => (word, 1)) 
.reduceByKey(_ + _) 
counts.saveAsTextFile("hdfs://...")
Code Examples (2) 
! 
Getting 
Between PC Ver. Download
Getting Download Data 
case class CloudFrontPcVerChart(val date: String, val country: String, val ip: 
String, val http_method: String, val ua: String) 
val cloudFrontPcVerLogs = "s3n://assets-between-pc-logs/*2014-10-*" 
val cloudFrontPcVerDownloadLogs = 
sc.textFile(cloudFrontPcVerLogs).filter(_ contains "/downloads/ 
setup.exe").map(x => x.split("t")) 
cloudFrontPcVerDownloadLogs.first 
val cloudFrontPcVerDownloadChart = 
cloudFrontPcVerDownloadLogs.map(arr => CloudFrontPcVerChart(arr(0), 
IP2C.get(arr(4)), arr(4), arr(5), arr(10))) 
cloudFrontPcVerDownloadChart.registerAsTable("pc_ver_download")
Querying Data 
select country, count(1) value 
from pc_ver_download 
group by country 
order by value desc 
limit 10 
Simple enough!
Result 
* Visualization powered by Zeppelin
확장 프로젝트들 
• Spark SQL 
• Spark Streaming 
• MLlib 
• GraphX 
• SparkR (예정) 
• Zeppelin
Zeppelin 
• A web-based notebook for Apache Spark (http://zeppelin-project. 
org) 
• Open source (https://github.com/NFLabs/zeppelin)
Zeppelin 
• Early stage 프로젝트 (Github 50 Star) 
• 1~2년 사이에 엄청 유명해질 프로젝트 
• 10줄만 커밋해도 contributor 로 넣어주는 좋은 프로젝트 
• 쉬운 설치, 실행하면 Spark을 내부에서 띄워줌 (외부 
Cluster와 연결도 가능)
Zeppelin 
Implementing dashboard via Zeppelin with few codes and queries
Zeppelin 
Spark & Zeppelin 
Live Demo
ETL부터 분석, visualisation까지 하나의 툴로 모두 처리 
Live Demo를 Keynote에 넣기가 어려워 스크린샷으로 대체합니다
ETL부터 분석, visualisation까지 하나의 툴로 모두 처리 
Live Demo를 Keynote에 넣기가 어려워 스크린샷으로 대체합니다
Interactive! 코드나 쿼리를 넣고 거의 즉시 결과가 나옴 
Live Demo를 Keynote에 넣기가 어려워 스크린샷으로 대체합니다
Spark SQL과 결합하여 Visualisation 툴로도 높은 가능성 
Live Demo를 Keynote에 넣기가 어려워 스크린샷으로 대체합니다
Spark SQL과 결합하여 Visualisation 툴로도 높은 가능성 
Live Demo를 Keynote에 넣기가 어려워 스크린샷으로 대체합니다
Spark SQL과 결합하여 Visualisation 툴로도 높은 가능성 
간단한 SQL Query로 대쉬보드를 
순식간에 만듬 
Live Demo를 Keynote에 넣기가 어려워 스크린샷으로 대체합니다
Spark SQL과 결합하여 Visualisation 툴로도 높은 가능성 
위치, 넓이 등 조절 
Live Demo를 Keynote에 넣기가 어려워 스크린샷으로 대체합니다
Zeppelin 
• 간단하게 데이터 분석을 시작해보려는 사람들에게 추천 
• 민첩하게 이런저런 데이터를 살펴보고 분석하려는 사람들에게 추 
천 
• Dashboard을 빠르게 만들고 싶은 사람들에게 추천 
• Hot한 Open Source에 참여해보고 싶은 사람들에게 추천 
• Spark을 처음 사용하는 경우는 Spark Shell을 먼저 사용해보는것 
을 추천 (Zeppelin Code Editor의 Auto Completion기능이 보강될 때 까지)
감사합니다

More Related Content

What's hot

Flink vs. Spark
Flink vs. SparkFlink vs. Spark
Flink vs. Spark
Slim Baltagi
 
Achieving 100k Queries per Hour on Hive on Tez
Achieving 100k Queries per Hour on Hive on TezAchieving 100k Queries per Hour on Hive on Tez
Achieving 100k Queries per Hour on Hive on Tez
DataWorks Summit/Hadoop Summit
 
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
Altinity Ltd
 
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the CloudAmazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Noritaka Sekiyama
 
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise UsersApache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
DataWorks Summit
 
Apache Spark Data Source V2 with Wenchen Fan and Gengliang Wang
Apache Spark Data Source V2 with Wenchen Fan and Gengliang WangApache Spark Data Source V2 with Wenchen Fan and Gengliang Wang
Apache Spark Data Source V2 with Wenchen Fan and Gengliang Wang
Databricks
 
Introduction to HiveQL
Introduction to HiveQLIntroduction to HiveQL
Introduction to HiveQL
kristinferrier
 
Airflow for Beginners
Airflow for BeginnersAirflow for Beginners
Airflow for Beginners
Varya Karpenko
 
LLAP: long-lived execution in Hive
LLAP: long-lived execution in HiveLLAP: long-lived execution in Hive
LLAP: long-lived execution in Hive
DataWorks Summit
 
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영
NAVER D2
 
Airflow를 이용한 데이터 Workflow 관리
Airflow를 이용한  데이터 Workflow 관리Airflow를 이용한  데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리
YoungHeon (Roy) Kim
 
Optimizing Hive Queries
Optimizing Hive QueriesOptimizing Hive Queries
Optimizing Hive Queries
Owen O'Malley
 
Airflow tutorials hands_on
Airflow tutorials hands_onAirflow tutorials hands_on
Airflow tutorials hands_on
pko89403
 
Spark로 알아보는 빅데이터 처리
Spark로 알아보는 빅데이터 처리Spark로 알아보는 빅데이터 처리
Spark로 알아보는 빅데이터 처리
Jeong-gyu Kim
 
Introduction to Apache Solr
Introduction to Apache SolrIntroduction to Apache Solr
Introduction to Apache Solr
Christos Manios
 
Apache kafka 관리와 모니터링
Apache kafka 관리와 모니터링Apache kafka 관리와 모니터링
Apache kafka 관리와 모니터링
JANGWONSEO4
 
Apache hive introduction
Apache hive introductionApache hive introduction
Apache hive introduction
Mahmood Reza Esmaili Zand
 
Optimizing Delta/Parquet Data Lakes for Apache Spark
Optimizing Delta/Parquet Data Lakes for Apache SparkOptimizing Delta/Parquet Data Lakes for Apache Spark
Optimizing Delta/Parquet Data Lakes for Apache Spark
Databricks
 
Migrating your clusters and workloads from Hadoop 2 to Hadoop 3
Migrating your clusters and workloads from Hadoop 2 to Hadoop 3Migrating your clusters and workloads from Hadoop 2 to Hadoop 3
Migrating your clusters and workloads from Hadoop 2 to Hadoop 3
DataWorks Summit
 

What's hot (20)

Flink vs. Spark
Flink vs. SparkFlink vs. Spark
Flink vs. Spark
 
Achieving 100k Queries per Hour on Hive on Tez
Achieving 100k Queries per Hour on Hive on TezAchieving 100k Queries per Hour on Hive on Tez
Achieving 100k Queries per Hour on Hive on Tez
 
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
 
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the CloudAmazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the Cloud
 
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise UsersApache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
 
Apache Spark Data Source V2 with Wenchen Fan and Gengliang Wang
Apache Spark Data Source V2 with Wenchen Fan and Gengliang WangApache Spark Data Source V2 with Wenchen Fan and Gengliang Wang
Apache Spark Data Source V2 with Wenchen Fan and Gengliang Wang
 
Introduction to HiveQL
Introduction to HiveQLIntroduction to HiveQL
Introduction to HiveQL
 
Airflow for Beginners
Airflow for BeginnersAirflow for Beginners
Airflow for Beginners
 
LLAP: long-lived execution in Hive
LLAP: long-lived execution in HiveLLAP: long-lived execution in Hive
LLAP: long-lived execution in Hive
 
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영
 
Airflow를 이용한 데이터 Workflow 관리
Airflow를 이용한  데이터 Workflow 관리Airflow를 이용한  데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리
 
Optimizing Hive Queries
Optimizing Hive QueriesOptimizing Hive Queries
Optimizing Hive Queries
 
L4교육자료
L4교육자료L4교육자료
L4교육자료
 
Airflow tutorials hands_on
Airflow tutorials hands_onAirflow tutorials hands_on
Airflow tutorials hands_on
 
Spark로 알아보는 빅데이터 처리
Spark로 알아보는 빅데이터 처리Spark로 알아보는 빅데이터 처리
Spark로 알아보는 빅데이터 처리
 
Introduction to Apache Solr
Introduction to Apache SolrIntroduction to Apache Solr
Introduction to Apache Solr
 
Apache kafka 관리와 모니터링
Apache kafka 관리와 모니터링Apache kafka 관리와 모니터링
Apache kafka 관리와 모니터링
 
Apache hive introduction
Apache hive introductionApache hive introduction
Apache hive introduction
 
Optimizing Delta/Parquet Data Lakes for Apache Spark
Optimizing Delta/Parquet Data Lakes for Apache SparkOptimizing Delta/Parquet Data Lakes for Apache Spark
Optimizing Delta/Parquet Data Lakes for Apache Spark
 
Migrating your clusters and workloads from Hadoop 2 to Hadoop 3
Migrating your clusters and workloads from Hadoop 2 to Hadoop 3Migrating your clusters and workloads from Hadoop 2 to Hadoop 3
Migrating your clusters and workloads from Hadoop 2 to Hadoop 3
 

Viewers also liked

Apache spark 소개 및 실습
Apache spark 소개 및 실습Apache spark 소개 및 실습
Apache spark 소개 및 실습
동현 강
 
하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다
민철 정민철
 
빅데이터실습교육 소비분야 영남대_언론정보_20141117
빅데이터실습교육 소비분야 영남대_언론정보_20141117빅데이터실습교육 소비분야 영남대_언론정보_20141117
빅데이터실습교육 소비분야 영남대_언론정보_20141117Han Woo PARK
 
빅데이터분석실습 농산물중급분야 V0.9
빅데이터분석실습 농산물중급분야 V0.9빅데이터분석실습 농산물중급분야 V0.9
빅데이터분석실습 농산물중급분야 V0.9Han Woo PARK
 
[2A7]Linkedin'sDataScienceWhyIsItScience
[2A7]Linkedin'sDataScienceWhyIsItScience[2A7]Linkedin'sDataScienceWhyIsItScience
[2A7]Linkedin'sDataScienceWhyIsItScience
NAVER D2
 
Zookeeper 소개
Zookeeper 소개Zookeeper 소개
Zookeeper 소개
beom kyun choi
 
하둡 HDFS 훑어보기
하둡 HDFS 훑어보기하둡 HDFS 훑어보기
하둡 HDFS 훑어보기
beom kyun choi
 
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
SeungYong Baek
 
ETL with SPARK - First Spark London meetup
ETL with SPARK - First Spark London meetupETL with SPARK - First Spark London meetup
ETL with SPARK - First Spark London meetup
Rafal Kwasny
 
라즈베리파이와자바스크립트로만드는 IoT
라즈베리파이와자바스크립트로만드는 IoT라즈베리파이와자바스크립트로만드는 IoT
라즈베리파이와자바스크립트로만드는 IoT
Circulus
 
숭실대교육교재 - IoT 산업에서 오픈소스의 활용방안(김형채)
숭실대교육교재 - IoT 산업에서 오픈소스의 활용방안(김형채)숭실대교육교재 - IoT 산업에서 오픈소스의 활용방안(김형채)
숭실대교육교재 - IoT 산업에서 오픈소스의 활용방안(김형채)
Kevin Kim
 
Personal Interconnect AUdio - piAu manual
Personal Interconnect AUdio - piAu manualPersonal Interconnect AUdio - piAu manual
Personal Interconnect AUdio - piAu manual
Circulus
 
123D Design - 정리함 만들기
123D Design - 정리함 만들기123D Design - 정리함 만들기
123D Design - 정리함 만들기
Circulus
 
123D Design - 모델링 기초
123D Design - 모델링 기초123D Design - 모델링 기초
123D Design - 모델링 기초
Circulus
 
How to deploy oVirt using Nested KVM environment?
How to deploy oVirt using Nested KVM environment?How to deploy oVirt using Nested KVM environment?
How to deploy oVirt using Nested KVM environment?
Rogan Kyuseok Lee
 
Splunk6.3 소개서 2015_11
Splunk6.3 소개서 2015_11Splunk6.3 소개서 2015_11
Splunk6.3 소개서 2015_11
JunMyoung(준명) Youn(연)
 
Splunk 교육자료 v1.2
Splunk 교육자료 v1.2Splunk 교육자료 v1.2
Splunk 교육자료 v1.2
JunMyoung(준명) Youn(연)
 
Startup JavaScript 10 - OpenAPI & RSS 활용
Startup JavaScript 10 - OpenAPI & RSS 활용Startup JavaScript 10 - OpenAPI & RSS 활용
Startup JavaScript 10 - OpenAPI & RSS 활용
Circulus
 
Startup 123D Design - 10. 3D프린팅
Startup 123D Design - 10. 3D프린팅Startup 123D Design - 10. 3D프린팅
Startup 123D Design - 10. 3D프린팅
Circulus
 
RHCE FINAL Questions and Answers
RHCE FINAL Questions and AnswersRHCE FINAL Questions and Answers
RHCE FINAL Questions and Answers
Radien software
 

Viewers also liked (20)

Apache spark 소개 및 실습
Apache spark 소개 및 실습Apache spark 소개 및 실습
Apache spark 소개 및 실습
 
하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다
 
빅데이터실습교육 소비분야 영남대_언론정보_20141117
빅데이터실습교육 소비분야 영남대_언론정보_20141117빅데이터실습교육 소비분야 영남대_언론정보_20141117
빅데이터실습교육 소비분야 영남대_언론정보_20141117
 
빅데이터분석실습 농산물중급분야 V0.9
빅데이터분석실습 농산물중급분야 V0.9빅데이터분석실습 농산물중급분야 V0.9
빅데이터분석실습 농산물중급분야 V0.9
 
[2A7]Linkedin'sDataScienceWhyIsItScience
[2A7]Linkedin'sDataScienceWhyIsItScience[2A7]Linkedin'sDataScienceWhyIsItScience
[2A7]Linkedin'sDataScienceWhyIsItScience
 
Zookeeper 소개
Zookeeper 소개Zookeeper 소개
Zookeeper 소개
 
하둡 HDFS 훑어보기
하둡 HDFS 훑어보기하둡 HDFS 훑어보기
하둡 HDFS 훑어보기
 
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
 
ETL with SPARK - First Spark London meetup
ETL with SPARK - First Spark London meetupETL with SPARK - First Spark London meetup
ETL with SPARK - First Spark London meetup
 
라즈베리파이와자바스크립트로만드는 IoT
라즈베리파이와자바스크립트로만드는 IoT라즈베리파이와자바스크립트로만드는 IoT
라즈베리파이와자바스크립트로만드는 IoT
 
숭실대교육교재 - IoT 산업에서 오픈소스의 활용방안(김형채)
숭실대교육교재 - IoT 산업에서 오픈소스의 활용방안(김형채)숭실대교육교재 - IoT 산업에서 오픈소스의 활용방안(김형채)
숭실대교육교재 - IoT 산업에서 오픈소스의 활용방안(김형채)
 
Personal Interconnect AUdio - piAu manual
Personal Interconnect AUdio - piAu manualPersonal Interconnect AUdio - piAu manual
Personal Interconnect AUdio - piAu manual
 
123D Design - 정리함 만들기
123D Design - 정리함 만들기123D Design - 정리함 만들기
123D Design - 정리함 만들기
 
123D Design - 모델링 기초
123D Design - 모델링 기초123D Design - 모델링 기초
123D Design - 모델링 기초
 
How to deploy oVirt using Nested KVM environment?
How to deploy oVirt using Nested KVM environment?How to deploy oVirt using Nested KVM environment?
How to deploy oVirt using Nested KVM environment?
 
Splunk6.3 소개서 2015_11
Splunk6.3 소개서 2015_11Splunk6.3 소개서 2015_11
Splunk6.3 소개서 2015_11
 
Splunk 교육자료 v1.2
Splunk 교육자료 v1.2Splunk 교육자료 v1.2
Splunk 교육자료 v1.2
 
Startup JavaScript 10 - OpenAPI & RSS 활용
Startup JavaScript 10 - OpenAPI & RSS 활용Startup JavaScript 10 - OpenAPI & RSS 활용
Startup JavaScript 10 - OpenAPI & RSS 활용
 
Startup 123D Design - 10. 3D프린팅
Startup 123D Design - 10. 3D프린팅Startup 123D Design - 10. 3D프린팅
Startup 123D Design - 10. 3D프린팅
 
RHCE FINAL Questions and Answers
RHCE FINAL Questions and AnswersRHCE FINAL Questions and Answers
RHCE FINAL Questions and Answers
 

Similar to Zeppelin(Spark)으로 데이터 분석하기

Cloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcampCloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcamp
Sang-bae Lim
 
[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준
NAVER D2
 
Spark은 왜 이렇게 유명해지고 있을까?
Spark은 왜 이렇게  유명해지고 있을까?Spark은 왜 이렇게  유명해지고 있을까?
Spark은 왜 이렇게 유명해지고 있을까?
KSLUG
 
올챙이 현재와 미래
올챙이 현재와 미래올챙이 현재와 미래
올챙이 현재와 미래
cho hyun jong
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기
KwangSeob Jeong
 
AWS없이 만든 AWS와 유사한 데이터 파이프라인
AWS없이 만든  AWS와 유사한 데이터 파이프라인AWS없이 만든  AWS와 유사한 데이터 파이프라인
AWS없이 만든 AWS와 유사한 데이터 파이프라인
Kim Hyuk
 
올챙이로 살펴보는 개발툴과 Cloud
올챙이로 살펴보는 개발툴과 Cloud올챙이로 살펴보는 개발툴과 Cloud
올챙이로 살펴보는 개발툴과 Cloud
cho hyun jong
 
Spark 소개 2부
Spark 소개 2부Spark 소개 2부
Spark 소개 2부
Jinho Yoo
 
SOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AISOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AI
Joongi Kim
 
Data platform data pipeline(Airflow, Kubernetes)
Data platform data pipeline(Airflow, Kubernetes)Data platform data pipeline(Airflow, Kubernetes)
Data platform data pipeline(Airflow, Kubernetes)
창언 정
 
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
knight1128
 
Spark sql
Spark sqlSpark sql
Spark sql
동현 강
 
(알도개) APEX 사례로 보는 Low Code
(알도개) APEX 사례로 보는 Low Code(알도개) APEX 사례로 보는 Low Code
(알도개) APEX 사례로 보는 Low Code
Jay Park
 
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
SangHoon Lee
 
올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발
cho hyun jong
 
What is spark
What is sparkWhat is spark
What is spark
jaeho kang
 
Python & Spark
Python & SparkPython & Spark
Python & Spark
itproman35
 
Spring Framework 튜토리얼 - 네이버 최영목님
Spring Framework 튜토리얼 - 네이버 최영목님Spring Framework 튜토리얼 - 네이버 최영목님
Spring Framework 튜토리얼 - 네이버 최영목님
NAVER D2
 
Upgrade VCL! 오래된 프로그램, 최신 버전으로 탈바꿈하기
Upgrade VCL! 오래된 프로그램, 최신 버전으로 탈바꿈하기Upgrade VCL! 오래된 프로그램, 최신 버전으로 탈바꿈하기
Upgrade VCL! 오래된 프로그램, 최신 버전으로 탈바꿈하기
Devgear
 
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions
Jongin Lee
 

Similar to Zeppelin(Spark)으로 데이터 분석하기 (20)

Cloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcampCloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcamp
 
[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준[246] foursquare데이터라이프사이클 설현준
[246] foursquare데이터라이프사이클 설현준
 
Spark은 왜 이렇게 유명해지고 있을까?
Spark은 왜 이렇게  유명해지고 있을까?Spark은 왜 이렇게  유명해지고 있을까?
Spark은 왜 이렇게 유명해지고 있을까?
 
올챙이 현재와 미래
올챙이 현재와 미래올챙이 현재와 미래
올챙이 현재와 미래
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기
 
AWS없이 만든 AWS와 유사한 데이터 파이프라인
AWS없이 만든  AWS와 유사한 데이터 파이프라인AWS없이 만든  AWS와 유사한 데이터 파이프라인
AWS없이 만든 AWS와 유사한 데이터 파이프라인
 
올챙이로 살펴보는 개발툴과 Cloud
올챙이로 살펴보는 개발툴과 Cloud올챙이로 살펴보는 개발툴과 Cloud
올챙이로 살펴보는 개발툴과 Cloud
 
Spark 소개 2부
Spark 소개 2부Spark 소개 2부
Spark 소개 2부
 
SOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AISOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AI
 
Data platform data pipeline(Airflow, Kubernetes)
Data platform data pipeline(Airflow, Kubernetes)Data platform data pipeline(Airflow, Kubernetes)
Data platform data pipeline(Airflow, Kubernetes)
 
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
 
Spark sql
Spark sqlSpark sql
Spark sql
 
(알도개) APEX 사례로 보는 Low Code
(알도개) APEX 사례로 보는 Low Code(알도개) APEX 사례로 보는 Low Code
(알도개) APEX 사례로 보는 Low Code
 
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
Spark overview 이상훈(SK C&C)_스파크 사용자 모임_20141106
 
올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발
 
What is spark
What is sparkWhat is spark
What is spark
 
Python & Spark
Python & SparkPython & Spark
Python & Spark
 
Spring Framework 튜토리얼 - 네이버 최영목님
Spring Framework 튜토리얼 - 네이버 최영목님Spring Framework 튜토리얼 - 네이버 최영목님
Spring Framework 튜토리얼 - 네이버 최영목님
 
Upgrade VCL! 오래된 프로그램, 최신 버전으로 탈바꿈하기
Upgrade VCL! 오래된 프로그램, 최신 버전으로 탈바꿈하기Upgrade VCL! 오래된 프로그램, 최신 버전으로 탈바꿈하기
Upgrade VCL! 오래된 프로그램, 최신 버전으로 탈바꿈하기
 
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions
 

Zeppelin(Spark)으로 데이터 분석하기

  • 1. Zeppelin (powered by Apache Spark) 으로 데이터 분석하기 2014-11-05 스사모 (한국 스파크 사용자 모임) https://www.facebook.com/groups/sparkkoreauser/ ! 김상우, VCNC(비트윈) sangwookim.me@gmail.com
  • 2. Apache Spark? • MapReduce 와 유사한 작업이 가능 • 확장성 (Spark SQL, Spark Streaming, MLLib, GraphX) • MapReduce보다 훨씬 간단한 인터페이스, 배우기 쉬움 (Scala, REPL) • 작업 종류에 따라 MapReduce의 5배~50배 빠름 (In- Memory Data) • Hadoop Storage 호환 (HDFS, HBase, S3, ..)
  • 3. 왜 필요한가? • MapReduce, Hive (기존의 지배 기술들) • 매우 강력하지만, 작업이 복잡할수록 비효율적이다. (중 간 결과를 계속해서 HDFS에 저장) • API가 복잡하고, MR Job 여러개를 Chaining해서 작업 을 만들어놓으면, 유지보수하기가 어렵다.
  • 4. Spark Key Concept • RDD (Resilient Distributed Datasets) ‣ 클러스터 전체에서 공유되는 리스트, 메모리상에 올라가있음. (메모리 부족한 경우, 디스크에 spill) ‣ map, reduce, count, filter, join 등 다양한 작업 가능 ‣ 여러 작업을 설정해두고, 결과를 얻을 때 lazy하게 계산 • Scala ‣ 데이터 분석 하기에 아주 좋은 언어 ‣ 강력한 expression, Java와의 호환성 ‣ Interactive Shell (REPL)
  • 5. Spark은 좋다 • 수십대의 Hadoop Cluster로 큰 작업을 돌려야 했던 경우, 10대 이하의 Cluster로 대체할 수 있다 • 클러스터로 돌려야 하던 작업을 1~2대로 돌릴 수 있다 • 수십분 기다려야 하던 작업이 1분만에 완료된다 • MR 작업 코드 만들고, 패키징하고, submit하고 하던 복잡 한 과정이, shell에서 코드 한줄 치는것으로 대체된다 • 처음 접하는 사람도 배우기 쉽다
  • 6. Code Examples (1) ! Word Count
  • 7. Word Count val file = spark.textFile("hdfs://...") val counts = file.flatMap(line => line.split(" ")) .map(word => (word, 1)) .reduceByKey(_ + _) counts.saveAsTextFile("hdfs://...")
  • 8. Code Examples (2) ! Getting Between PC Ver. Download
  • 9. Getting Download Data case class CloudFrontPcVerChart(val date: String, val country: String, val ip: String, val http_method: String, val ua: String) val cloudFrontPcVerLogs = "s3n://assets-between-pc-logs/*2014-10-*" val cloudFrontPcVerDownloadLogs = sc.textFile(cloudFrontPcVerLogs).filter(_ contains "/downloads/ setup.exe").map(x => x.split("t")) cloudFrontPcVerDownloadLogs.first val cloudFrontPcVerDownloadChart = cloudFrontPcVerDownloadLogs.map(arr => CloudFrontPcVerChart(arr(0), IP2C.get(arr(4)), arr(4), arr(5), arr(10))) cloudFrontPcVerDownloadChart.registerAsTable("pc_ver_download")
  • 10. Querying Data select country, count(1) value from pc_ver_download group by country order by value desc limit 10 Simple enough!
  • 11. Result * Visualization powered by Zeppelin
  • 12. 확장 프로젝트들 • Spark SQL • Spark Streaming • MLlib • GraphX • SparkR (예정) • Zeppelin
  • 13. Zeppelin • A web-based notebook for Apache Spark (http://zeppelin-project. org) • Open source (https://github.com/NFLabs/zeppelin)
  • 14. Zeppelin • Early stage 프로젝트 (Github 50 Star) • 1~2년 사이에 엄청 유명해질 프로젝트 • 10줄만 커밋해도 contributor 로 넣어주는 좋은 프로젝트 • 쉬운 설치, 실행하면 Spark을 내부에서 띄워줌 (외부 Cluster와 연결도 가능)
  • 15. Zeppelin Implementing dashboard via Zeppelin with few codes and queries
  • 16. Zeppelin Spark & Zeppelin Live Demo
  • 17. ETL부터 분석, visualisation까지 하나의 툴로 모두 처리 Live Demo를 Keynote에 넣기가 어려워 스크린샷으로 대체합니다
  • 18. ETL부터 분석, visualisation까지 하나의 툴로 모두 처리 Live Demo를 Keynote에 넣기가 어려워 스크린샷으로 대체합니다
  • 19. Interactive! 코드나 쿼리를 넣고 거의 즉시 결과가 나옴 Live Demo를 Keynote에 넣기가 어려워 스크린샷으로 대체합니다
  • 20. Spark SQL과 결합하여 Visualisation 툴로도 높은 가능성 Live Demo를 Keynote에 넣기가 어려워 스크린샷으로 대체합니다
  • 21. Spark SQL과 결합하여 Visualisation 툴로도 높은 가능성 Live Demo를 Keynote에 넣기가 어려워 스크린샷으로 대체합니다
  • 22. Spark SQL과 결합하여 Visualisation 툴로도 높은 가능성 간단한 SQL Query로 대쉬보드를 순식간에 만듬 Live Demo를 Keynote에 넣기가 어려워 스크린샷으로 대체합니다
  • 23. Spark SQL과 결합하여 Visualisation 툴로도 높은 가능성 위치, 넓이 등 조절 Live Demo를 Keynote에 넣기가 어려워 스크린샷으로 대체합니다
  • 24. Zeppelin • 간단하게 데이터 분석을 시작해보려는 사람들에게 추천 • 민첩하게 이런저런 데이터를 살펴보고 분석하려는 사람들에게 추 천 • Dashboard을 빠르게 만들고 싶은 사람들에게 추천 • Hot한 Open Source에 참여해보고 싶은 사람들에게 추천 • Spark을 처음 사용하는 경우는 Spark Shell을 먼저 사용해보는것 을 추천 (Zeppelin Code Editor의 Auto Completion기능이 보강될 때 까지)