Data science lifecycle with Apache Zeppelin (incubating)
-
Upload
trannguyet -
Category
Documents
-
view
238 -
download
0
Transcript of Data science lifecycle with Apache Zeppelin (incubating)
Data science lifecycle with Apache Zeppelin (incubating)
NFLabs for ApacheCon ’15 EU
Content
1. Data science lifecycle 2. Zeppelin for data scientists3. Zeppelin for organizations4. Project Roadmap
Data science lifecycle
Data Science: process
https://en.wikipedia.org/wiki/Data_analysis
Data Science: tools
MLlib
Data Science: people
Engineer Data Scientist
DevOps Business
http://aarondavis.design/
Content
1. Data science lifecycle2. Zeppelin for data scientists 3. Zeppelin for organizations4. Project Roadmap
Zeppelin for data scientist
Project Timeline
ASF Incubation12.2014
08.2013 NFLabs Internal project Hive/Shark
http://zeppelin.incubator.apache.org
12.2012 Commercial App using AMP Lab Shark 0.5
10.2013 Prototype Hive/Shark
Hadoop Landscape
Cloudera-ML
ML-base
MRQL
Shark
?
Commercial App 12.2012
OSS Prototype 10.2013
OSS Prototype 10.2013
OSS Prototype 08.2014
OSS Prototype 08.2014
Third-party Products 10.2014
Apache Incubation Proposal11.2014
Acceptance by Incubator 23.12.2014
Current Status
1 Release
63 Contributors worldwide
655 Stars on GH
300/900 Emails at users/dev @i.a.o
Interactive Notebooks
Interactive Visualization
Multiple Backends
Zeppelin & Friends
Z-Manager
ZeppelinHub
…⋯
Collaboration/Sharing
Packaging & Deployment Zeppelin + Full stack on a cloud
Packages Backend Integration
Online Viewer
Deployment
As a Service
Before
Cloudera-ML
ML-base
MRQL
Shark
?
After
Cloudera-ML
ML-base
MRQL
Shark
LIVE DEMO
Content
1. Data science lifecycle2. Zeppelin for data scientists3. Zeppelin for organizations 4. Project Roadmap
Zeppelin for organizations
What is the problem?
Too much:Install
Configure
Cluster resources
Solution?
We have containers
+
reverse proxy
Z Manager PoC
httpd + mod_php
nginx
Linux box
engineer by http://aarondavis.design/
2 days, bash + php :(
Z Manager PoC
Z Manager
http://github.com/NFLabs/z-manager
Apache 2.0 Licence
Containerized deployment per user
Reverse proxy
Single binary
Simple web application
Z Manager
SGA to ASF coming *
Z Manager
Auto-update
engineer by http://aarondavis.design/
Linux box
go + react :)
Z Manager process
Z Manager
LIVE DEMO
Content
1. Data science lifecycle2. Zeppelin for data scientists3. Zeppelin for organizations4. Project Roadmap
Project roadmap
People do the similar workwith different data
New visualizationModel & AlgorithmData process pipeline
http://aarondavis.design/
Package and distribute work
New visualizationModel & AlgorithmData process pipeline
PkgRepo
http://aarondavis.design/
Helium
https://s.apache.org/helium
Platform for
on top of Apache Zeppelin
Data Analytics Application
Helium Application
= +View Algorithm
Zeppelin provided Resources
Resources
Data
Computing
Any java object
����������� ������������������ -����������� ������������������ Result����������� ������������������ of����������� ������������������ last����������� ������������������ execution����������� ������������������ -����������� ������������������ JDBC����������� ������������������ connection����������� ������������������ (from����������� ������������������ JDBC����������� ������������������ Interpreter)*
����������� ������������������ -����������� ������������������ SparkContext����������� ������������������ (from����������� ������������������ SparkInterpreter)����������� ������������������ -����������� ������������������ Flink����������� ������������������ environment����������� ������������������ (from����������� ������������������ FlinkInterpreter)*
-����������� ������������������ Provided����������� ������������������ by����������� ������������������ user����������� ������������������ created����������� ������������������ Interpreter-����������� ������������������ Provided����������� ������������������ by����������� ������������������ user����������� ������������������ created����������� ������������������ Helium����������� ������������������ application����������� ������������������
Application Examples
Data
Computing
-����������� ������������������ ex)����������� ������������������ get����������� ������������������ git����������� ������������������ commit����������� ������������������ log����������� ������������������ data����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ ����������� ������������������ https://github.com/Leemoonsoo/zeppelin-gitcommitdata
Visualization
����������� ������������������ ����������� ������������������ -����������� ������������������ 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
How it works
Zeppelin����������� ������������������ Server
Web����������� ������������������ browser
View
Interpreter����������� ������������������ Process
Algorithm
Resource����������� ������������������ pool
Resource����������� ������������������ pool
Resource����������� ������������������ pools����������� ������������������ are����������� ������������������ connected
“Algorithm����������� ������������������ runs����������� ������������������ where����������� ������������������ resource����������� ������������������ exists”
API
class YourApplication extends org.apache.zeppelin.helium.Application { @Override public void run(ApplicationArgument arg, InterpreterContext context) { ….. } }
Easy����������� ������������������ API
Just����������� ������������������ extend����������� ������������������ helium.Application
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" ] }
Simple
Writing����������� ������������������ a����������� ������������������ spec����������� ������������������ file����������� ������������������ allow����������� ������������������ Zeppelin����������� ������������������ load����������� ������������������ application
Deploy
Public
Repository
Private
Repository
Handy����������� ������������������
Private
Public
Packaged����������� ������������������ to����������� ������������������ Jar����������� ������������������ and����������� ������������������ ����������� ������������������
Distributed����������� ������������������ through����������� ������������������
Maven
Downloaded����������� ������������������ on����������� ������������������ the����������� ������������������ fly����������� ������������������
and����������� ������������������ run����������� ������������������ when����������� ������������������ user����������� ������������������ selects����������� ������������������
it
LIVE DEMO