[214] data science with apache zeppelin
TRANSCRIPT
![Page 1: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/1.jpg)
Data����������� ������������������ Science����������� ������������������ with����������� ������������������ Apache����������� ������������������ Zeppelin
이문수����������� ������������������
NFLabs
![Page 2: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/2.jpg)
contents1. Data science lifecycle2. Apache Zeppelin3. Zeppelin in your team4. Helium
![Page 3: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/3.jpg)
1.Data Science Lifecycle
![Page 4: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/4.jpg)
Data����������� ������������������ Science
https://en.wikipedia.org/wiki/Data_analysis
다양한����������� ������������������ 과정
![Page 5: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/5.jpg)
Data����������� ������������������ Science
MLlib
다양한����������� ������������������ SW
![Page 6: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/6.jpg)
Data����������� ������������������ Science
다양한����������� ������������������ 사람
![Page 7: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/7.jpg)
즉
7
![Page 8: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/8.jpg)
힘든����������� ������������������ 삶
<
![Page 9: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/9.jpg)
힘든����������� ������������������ 삶
.
.
.
.30 대
400 GB / day ETL / aggregationPHP web server
High chart
Data parsing
Traffic normalize
IP location lookup
Service account recognition
AccessLog
....
AdHoc
Batch
![Page 10: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/10.jpg)
.
.
.
.30 대
400 GB / day ETL / aggregationPHP web server
High chart
Data parsing
Traffic normalize
IP location lookup
Service account recognition
AccessLog
....
AdHoc
Batch
데이터 넣는 과정에서 오류 발생하면 수동으로 재처리
새로운 분석 추가될때 마다 mongodb 에 스키마 관리 웹페이지 수정 및 차트 추가
Spark 에서 AdHoc query를 위해 Hive 에서 aggregation 을 미리 수행해야 하는 경우가 많은데, 소스가 따로 떨어져있어서 관리가 잘안되고 실수가 자주
발생
Excel 로 리포트 만들어 이메일 보내면 매일 매일 업데이트 해달라고 연락옴
![Page 11: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/11.jpg)
분석에����������� ������������������ 집중할����������� ������������������ 수����������� ������������������ 없을까?
>
![Page 12: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/12.jpg)
적절한����������� ������������������ 도구가����������� ������������������ 필요
편리하고����������� ������������������ 강력한����������� ������������������ 분석����������� ������������������ 언어����������� ������������������ 인터렉티브����������� ������������������ 속도����������� ������������������ 라이브러리����������� ������������������ 시각화����������� ������������������ 공유/협업����������� ������������������ 간편하고����������� ������������������ 손쉬운����������� ������������������ 시스템����������� ������������������ 구성
![Page 13: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/13.jpg)
2.Apache Zeppelin
![Page 14: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/14.jpg)
Apache����������� ������������������ Zeppelin
http://zeppelin.incubator.apache.org/
2014����������� ������������������ 년����������� ������������������ 12월에����������� ������������������ ASF����������� ������������������ 에����������� ������������������ incubation����������� ������������������ 됨
2013����������� ������������������ 년����������� ������������������ 8월에����������� ������������������ NFLabs����������� ������������������ 내부����������� ������������������ 프로젝트로����������� ������������������ 시작
63����������� ������������������ Contributors����������� ������������������ from����������� ������������������ worldwide
646����������� ������������������ Stars
1����������� ������������������ release
Apache����������� ������������������ 2.0����������� ������������������ License
![Page 15: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/15.jpg)
누가����������� ������������������ 쓰나?
![Page 16: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/16.jpg)
생태계
Packaging����������� ������������������ ����������� ������������������ &����������� ������������������ Deployment
Z-Manager
Collaboration,����������� ������������������ Sharing
ZeppelinHub Zeppelin����������� ������������������ +����������� ������������������ Full����������� ������������������ stack����������� ������������������ on����������� ������������������ a����������� ������������������ cloud
Packages Backend����������� ������������������ integration
…⋯
![Page 17: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/17.jpg)
다양한����������� ������������������ Backend����������� ������������������ 동시에����������� ������������������ 사용
![Page 18: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/18.jpg)
다양한����������� ������������������ Backend����������� ������������������ 동시에����������� ������������������ 사용Shell����������� ������������������ 명령����������� ������������������ 이용해����������� ������������������ 데이터����������� ������������������ 카피
Hive����������� ������������������ 이용해����������� ������������������ 데이터����������� ������������������ transformation
Spark����������� ������������������ 의����������� ������������������ MLlib����������� ������������������ 으로����������� ������������������ ����������� ������������������ 분석
python����������� ������������������ 이용하여����������� ������������������ 시각화
하나의����������� ������������������ 노트북에서����������� ������������������ 순차적으로����������� ������������������ 작업을����������� ������������������ 처리
![Page 19: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/19.jpg)
Visualization
![Page 20: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/20.jpg)
Apache����������� ������������������ Zeppelin
Interactive����������� ������������������ Notebook
![Page 21: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/21.jpg)
Before
21
![Page 22: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/22.jpg)
22
.
.
.
.30 대
400 GB / day ETL / aggregationPHP web server
High chart
Data parsing
Traffic normalize
IP location lookup
Service account recognition
AccessLog
....
AdHoc
Batch
데이터 넣는 과정에서 오류 발생하면 수동으로 재처리
새로운 분석 추가될때 마다 mongodb 에 스키마 관리 웹페이지 수정 및 차트 추가
Spark 에서 AdHoc query를 위해 Hive 에서 aggregation 을 미리 수행해야 하는 경우가 많은데, 소스가 따로 떨어져있어서 관리가 잘안되고 실수가 자주
발생
Excel 로 리포트 만들어 이메일 보내면 매일 매일 업데이트 해달라고 연락옴
![Page 23: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/23.jpg)
After
23
![Page 24: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/24.jpg)
.
.
.
.
400 GB / day ETL / aggregation
AccessLog
AdHoc
Batch
![Page 25: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/25.jpg)
3.Zeppelin in your team
![Page 26: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/26.jpg)
Team����������� ������������������ =����������� ������������������ Multi����������� ������������������ user
26
![Page 27: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/27.jpg)
Multi����������� ������������������ user����������� ������������������ =����������� ������������������ ACL
27
![Page 28: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/28.jpg)
User1
다중 사용자 구성 A
User2
사용자별로����������� ������������������ ����������� ������������������ Interpreter����������� ������������������ setting����������� ������������������ 추가����������� ������������������ 하여����������� ������������������ 각각����������� ������������������ 다른����������� ������������������ 리소스����������� ������������������ 할당
100 core, 300GB mem50 core, 100GB mem
각각����������� ������������������ 노트북에서����������� ������������������ interpreter����������� ������������������ setting����������� ������������������ 선택����������� ������������������ 하여����������� ������������������ 사용
하나의����������� ������������������ ����������� ������������������ Zeppelin����������� ������������������ 인스턴스����������� ������������������ 사용
![Page 29: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/29.jpg)
User1 User2100 core, 300GB mem50 core, 100GB mem
Proxy����������� ������������������ server����������� ������������������ 에서����������� ������������������ 인증����������� ������������������ 및����������� ������������������ Instance����������� ������������������ 할당����������� ������������������ 관리
사용자별로����������� ������������������ Instance����������� ������������������ 생성
http://nflabs.github.io/z-manager/
다중 사용자 구성 B
![Page 30: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/30.jpg)
Platform����������� ������������������ for����������� ������������������ Data����������� ������������������ analytics����������� ������������������ application����������� ������������������ on����������� ������������������ top����������� ������������������ of����������� ������������������ Apache����������� ������������������ Zeppelin
4.
https://cwiki.apache.org/confluence/display/ZEPPELIN/Helium+proposal
![Page 31: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/31.jpg)
Helium����������� ������������������ Application
= +View Algorithm
Zeppelin����������� ������������������ provided����������� ������������������ Resources
![Page 32: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/32.jpg)
Resources
Example����������� ������������������ of����������� ������������������ resource����������� ������������������
Data����������� ������������������ ����������� ������������������ -����������� ������������������ Result����������� ������������������ of����������� ������������������ last����������� ������������������ execution����������� ������������������ -����������� ������������������ JDBC����������� ������������������ connection����������� ������������������ (from����������� ������������������ JDBC����������� ������������������ Interpreter)*
Computing����������� ������������������ ����������� ������������������ -����������� ������������������ SparkContext����������� ������������������ (from����������� ������������������ SparkInterpreter)����������� ������������������ -����������� ������������������ Flink����������� ������������������ environment����������� ������������������ (from����������� ������������������ FlinkInterpreter)*����������� ������������������
Any����������� ������������������ java����������� ������������������ object����������� ������������������ -����������� ������������������ Provided����������� ������������������ by����������� ������������������ user����������� ������������������ created����������� ������������������ Interpreter����������� ������������������ -����������� ������������������ Provided����������� ������������������ by����������� ������������������ user����������� ������������������ created����������� ������������������ Helium����������� ������������������ application����������� ������������������
![Page 33: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/33.jpg)
예
데이터����������� ������������������ ����������� ������������������ -����������� ������������������ ex)����������� ������������������ get����������� ������������������ git����������� ������������������ commit����������� ������������������ log����������� ������������������ data����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ https://github.com/Leemoonsoo/zeppelin-gitcommitdata
컴퓨팅����������� ������������������ ����������� ������������������ -����������� ������������������ ex)����������� ������������������ run����������� ������������������ cpu����������� ������������������ usage����������� ������������������ monitoring����������� ������������������ code����������� ������������������ across����������� ������������������ spark����������� ������������������ cluster,����������� ������������������ using����������� ������������������ SparkContext����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ https://github.com/Leemoonsoo/zeppelin-sparkmon
시각화����������� ������������������ ����������� ������������������ -����������� ������������������ ex)����������� ������������������ display����������� ������������������ result����������� ������������������ data����������� ������������������ as����������� ������������������ a����������� ������������������ wordcloud����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ https://github.com/Leemoonsoo/zeppelin-wordcloud
![Page 34: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/34.jpg)
동작����������� ������������������ 방식
Zeppelin����������� ������������������ Server
Web����������� ������������������ browser
View
Interpreter����������� ������������������ Process
Algorithm
Resource����������� ������������������ pool
Resource����������� ������������������ pool
Resource����������� ������������������ pools����������� ������������������ are����������� ������������������ connected
“Algorithm����������� ������������������ runs����������� ������������������ where����������� ������������������ resource����������� ������������������ exists”
![Page 35: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/35.jpg)
API
class YourApplication extends org.apache.zeppelin.helium.Application { @Override public void run(ApplicationArgument arg, InterpreterContext context) { ….. } }
쉽다
하나의����������� ������������������ class����������� ������������������ 만����������� ������������������ extend����������� ������������������ 하면����������� ������������������ 만들수����������� ������������������ 있다.
![Page 36: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/36.jpg)
Application����������� ������������������ Spec
{ mavenArtifact : "groupId:artifactId:version", className : "your.helium.application.Class", icon : "fa fa-cloud", name : "My app name", description : “some description", consume : [ "org.apache.spark.SparkContext" ] }
간단하다
Spec����������� ������������������ 파일만����������� ������������������ 정의하면����������� ������������������ 바로����������� ������������������ 사용
![Page 37: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/37.jpg)
Deploy
Public
Repository
Private
Repository
편리하다
사내
공개
maven����������� ������������������ 사용해서����������� ������������������ 배포되고����������� ������������������
설치되므로����������� ������������������ 사내����������� ������������������ 라이브러
리를����������� ������������������ 따로����������� ������������������ 구축할����������� ������������������ 수����������� ������������������ 있다.
사용자가����������� ������������������ 클릭하면����������� ������������������ 바로����������� ������������������ 다
운로드되어����������� ������������������ 실행
maven����������� ������������������ 통해서����������� ������������������ 배포하여����������� ������������������ 편리하게����������� ������������������ 사용
![Page 38: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/38.jpg)
Demo
![Page 39: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/39.jpg)
Get����������� ������������������ involved
홈페이지����������� ������������������ http://zeppelin.incubator.apache.org/����������� ������������������
메일링리스트����������� ������������������ [email protected]����������� ������������������ [email protected]����������� ������������������
이슈트래커����������� ������������������ https://issues.apache.org/jira/browse/ZEPPELIN����������� ������������������
소스리파지토리����������� ������������������ https://github.com/apache/incubator-zeppelin
![Page 40: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/40.jpg)
Q&A
![Page 41: [214] data science with apache zeppelin](https://reader034.vdocuments.site/reader034/viewer/2022052514/586fd9311a28ab18428b58f3/html5/thumbnails/41.jpg)
Thank You