58
Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU

Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

  • Upload
    others

  • View
    29

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Data science lifecycle with Apache Zeppelin (incubating)

NFLabs for ApacheCon ’15 EU

Page 2: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Content

1. Data science lifecycle 2. Zeppelin for data scientists3. Zeppelin for organizations4. Project Roadmap

Page 3: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Data science lifecycle

Page 4: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Data Science: process

https://en.wikipedia.org/wiki/Data_analysis

Page 5: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Data Science: tools

MLlib

Page 6: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Data Science: people

Engineer Data Scientist

DevOps Business

http://aarondavis.design/

Page 7: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Content

1. Data science lifecycle2. Zeppelin for data scientists 3. Zeppelin for organizations4. Project Roadmap

Page 8: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Zeppelin for data scientist

Page 9: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

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

Page 10: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Hadoop Landscape

Cloudera-ML

ML-base

MRQL

Shark

?

Page 11: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Commercial App 12.2012

Page 12: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

OSS Prototype 10.2013

Page 13: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

OSS Prototype 10.2013

Page 14: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

OSS Prototype 08.2014

Page 15: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

OSS Prototype 08.2014

Page 16: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Third-party Products 10.2014

Page 17: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Apache Incubation Proposal11.2014

Page 18: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Acceptance by Incubator 23.12.2014

Page 19: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Current Status

1 Release

63 Contributors worldwide

655 Stars on GH

300/900 Emails at users/dev @i.a.o

Page 20: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Interactive Notebooks

Page 21: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Interactive Visualization

Page 22: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Multiple Backends

Page 23: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Zeppelin & Friends

Z-Manager

ZeppelinHub

…⋯

Collaboration/Sharing

Packaging & Deployment Zeppelin + Full stack on a cloud

Packages Backend Integration

Page 24: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Online Viewer

Page 25: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Deployment

Page 26: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

As a Service

Page 27: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Before

Cloudera-ML

ML-base

MRQL

Shark

?

Page 28: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

After

Cloudera-ML

ML-base

MRQL

Shark

Page 29: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

LIVE DEMO

Page 30: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Content

1. Data science lifecycle2. Zeppelin for data scientists3. Zeppelin for organizations 4. Project Roadmap

Page 31: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Zeppelin for organizations

Page 32: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

An Engineer

engineer by http://aarondavis.design/

Page 33: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

A Team

engineer by http://aarondavis.design/

Page 34: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

An Organization

engineer by http://aarondavis.design/

Page 35: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

That’s too many!

engineer by http://aarondavis.design/

Page 36: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

What is the problem?

Too much:Install

Configure

Cluster resources

Page 37: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Solution?

We have containers

+

reverse proxy

Page 38: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle
Page 39: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Z Manager PoC

httpd + mod_php

nginx

Linux box

engineer by http://aarondavis.design/

2 days, bash + php :(

Page 40: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Z Manager PoC

Page 41: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

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 *

Page 42: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Z Manager

Auto-update

engineer by http://aarondavis.design/

Linux box

go + react :)

Z Manager process

Page 43: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Z Manager

Page 44: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

LIVE DEMO

Page 45: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Content

1. Data science lifecycle2. Zeppelin for data scientists3. Zeppelin for organizations4. Project Roadmap

Page 46: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Project roadmap

Page 47: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

People do the similar workwith different data

New visualizationModel & AlgorithmData process pipeline

http://aarondavis.design/

Page 48: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Package and distribute work

New visualizationModel & AlgorithmData process pipeline

PkgRepo

http://aarondavis.design/

Page 49: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Helium

https://s.apache.org/helium

Platform for

on top of Apache Zeppelin

Data Analytics Application

Page 50: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

Helium Application

= +View Algorithm

Zeppelin provided Resources

Page 51: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

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����������� ������������������  

Page 52: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

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

Page 53: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

How it works

Zeppelin����������� ������������������  Server

Web����������� ������������������  browser

View

Interpreter����������� ������������������  Process

Algorithm

Resource����������� ������������������  pool

Resource����������� ������������������  pool

Resource����������� ������������������  pools����������� ������������������  are����������� ������������������  connected

“Algorithm����������� ������������������  runs����������� ������������������  where����������� ������������������  resource����������� ������������������  exists”

Page 54: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

API

class YourApplication extends org.apache.zeppelin.helium.Application { @Override public void run(ApplicationArgument arg, InterpreterContext context) { ….. } }

Easy����������� ������������������  API

Just����������� ������������������  extend����������� ������������������  helium.Application

Page 55: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

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

Page 56: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

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

Page 57: Data science lifecycle with Apache Zeppelin (incubating) · Data science lifecycle with Apache Zeppelin (incubating) NFLabs for ApacheCon ’15 EU. Content 1. Data science lifecycle

LIVE DEMO