SlideShare a Scribd company logo
Helium makes Zeppelin Fly
Moon soo Lee (moon@zepl.com)
Hoon Park (1ambda@zepl.com)
Ahyoung Ryu (ahyoungryu@zepl.com)
@ZEPL
Who we are?
What is Apache Zeppelin?
A web-based notebook that enables interactive data analytics. You can make beautiful data-driven,
interactive and collaborative documents with SQL, Scala and more.
When do you need Zeppelin?
Engineers Data Scientists Business user
Visualizations
Access control
Report
When multiple tools and different peoples are involved in your data pipeline
JDBC
Notebook
Zeppelin allows use multiple interpreter
(language backend) at the same time
● Real-time collaboration
● Authentication
● Notebook ACL
● Interpreter ACL
● Fine grained interpreter session -
notebook/user mapping
● Built-in scheduler
● Pluggable notebook storage
● Pluggable interpreter
Zeppelin supports multi-user environment
Built-in Visualization
6 Basic visualizations are built-in, (in addition to matplotlib, ggplot integration)
(Table, Bar chart, Pie chart, Area chart, Scatter chart, Line chart)
liumHe
2
4.0026
Hoon Park ZEPL
linkedin.com/in/1ambda
@
Why isn’t it easy to add new visualizations?
- Dependent on Zeppelin release cycle
- Restricted License (e.g. commercial chart)
Problems: Built-in Visualizations
“What if I want to display things differently?”
Let’s add pluggable visualizations
- external add-ons
- can update frequently
- highly customizable
- shared via online registry
Solution?
Problems: Built-in Visualizations
Why isn’t it easy to add new visualizations?
- Restricted License (e.g. highchart)
- Dependent on Zeppelin release cycle
liumHe
2
4.0026
Apache Zeppelin: Helium
VISUALIZATION
DEMO
Helium Visualization Examples
“What about extending Interpreters?”
“Can we leverage Helium framework for interpreters?”
Backgrounds: Interpreter
Execute paragraph (code) and return output
- separated JVM process
- %spark, %jdbc, %python, ...
Apache Zeppelin: Helium
SPELL
It is not easy to add a new interpreter
- interpreters written in Java
- sometimes need to handle HTML dynamically
Can’t be combined with other interpreters
- e.g. Spark + Markdown
- Interpreter != Display System
Problems: Backend Interpreter
“Can we write interpreters easily?”
Backgrounds: Display System
customize interpreted outputs in frontend
- can be combined with interpreters
- %html, %table, %angular, ...
Problems: Backend Interpreter
“Frontend interpreter can be a display system”
Easy to create and handle HTML
- written in JS
- can utilize many existing JS libraries
(flowchart, sigmajs, vega, papaparse, ...)
Can be a display system like %html, %table
- e.g. Spark Interpreter + Markdown Display
- allows to customize output %myGraph
SPELL: Frontend Interpreter
Apache Zeppelin: Helium
SPELL
DEMO
Helium Spell Examples
lium Online RegistryHe
2
4.0026
Ahyoung Ryu @ ZEPL
linkedin.com/in/AhyoungRyu
How can we share
VISUALIZATION or
SPELL
packages?
ONLINE REGISTRIES
ONLINE REGISTRIES
ONLINE REGISTRIES
Online Registry for Helium packages?
THEN WE SHOULD CONSIDER
1. Who/ How can we build up the infra and operate the service?
- Need to set up the authentication system
- Need user/ package DB
- Versioning/ building / packaging
- …
2. External library Licenses
Too complicated..
Is there any other SIMPLE way to solve this?
A SOLUTION ALREADY EXISTED
A SOLUTION ALREADY EXISTED
Helium VISUALIZATION & SPELL packages are
package
A SOLUTION ALREADY EXISTED
The package information can be saved in registry!
Helium VISUALIZATION & SPELL packages are
package
Then, is there any way to fetch
ONLY Helium package information
from registry?
Create
a Helium package
HOW?
HOW?
Publish it to
Registry
http://registry.npmjs.org/
Create
a Helium package
HOW?
Publish it to
Registry
Filter Helium pkg
& fetch only
necessary metadata
Create
a Helium package
HOW?
Publish it to
Registry
Does the package has zeppelin-vis or
zeppelin-spell as its dependency?
Filter Helium pkg
& fetch only
necessary metadata
Create
a Helium package
HOW?
Publish it to
Registry
If so, take only necessary metadata:
- name
- description
- version
- license
- ...
Filter Helium pkg
& fetch only
necessary metadata
Create
a Helium package
HOW?
Publish it to
Registry
Integrate
whole data and create
helium.json
Filter Helium pkg
& fetch only
necessary metadata
Create
a Helium package
HOW?
Publish it to
Registry
Integrate
whole data and create
helium.json
Save the file in
Filter Helium pkg
& fetch only
necessary metadata
Create
a Helium package
HOW?
Publish it to
Registry
Save the file in
Trigger
Lambda function
every 1 hour using
Integrate
whole data and create
helium.json
Filter Helium pkg
& fetch only
necessary metadata
Create
a Helium package
HOW?
Publish it to
Registry
Read
helium.json
Integrate
whole data and create
helium.json
Trigger
Lambda function
every 1 hour using
Save the file in
Filter Helium pkg
& fetch only
necessary metadata
Create
a Helium package
Apache Zeppelin and Helium  @ApacheCon 2017 may, FL
Apache Zeppelin and Helium  @ApacheCon 2017 may, FL
JIRA ISSUES
- ZEPPELIN-1973 : List all available Helium packages in Zeppelin website
- ZEPPELIN-2004 : List helium packages in Zeppelin GUI by reading file
WHEN CAN I USE THIS?
- Not included in Zeppelin latest version 0.7.X
- Will be available in Zeppelin 0.8.0
- Release plan ?
extends Zeppelin eco-system
Interpreters
liumHe
2
4.0026
Visualizations
Spell
Map
Heatmap
Range
Bubble
Spline
Sigma
D3
Markdown Translator
Flowchart
Spark
Python
JDBC Groovy
Geode
FlinkCassandra
Kylin
Users / Developers
2833
3rd parties
Useful service
Zeppelin notebook online viewer
https://www.zeppelinhub.com/viewer
Notebook sharing and collaboration
https://www.zeppelinhub.com
Future Roadmap
0.7.2
- Maintenance release.
0.8.0
- Helium online registry.
- Interpreter Cluster mode.
1.0
- Finest, the most stable release
2Q
/2017
3Q
/2017
3-4Q
/2017
Hopefully
Thanks
Q&A

More Related Content

PDF
Apache zeppelin 0.7.0 helium
PDF
A gentle intro of Apache zeppelin
PDF
InspiringCon14: ElePHPants on speed: Running TYPO3 Flow on HipHop VM
ODP
Using Apache Camel connectors for external connectivity
PDF
OpenFaaS KubeCon Zero to Serverless in 60 seconds anywhere
PDF
Akka and AngularJS – Reactive Applications in Practice
ODP
Getting Started with Apache Camel at DevNation 2014
PDF
Zero to Serverless - OpenFaaS at the Open Source Summit
Apache zeppelin 0.7.0 helium
A gentle intro of Apache zeppelin
InspiringCon14: ElePHPants on speed: Running TYPO3 Flow on HipHop VM
Using Apache Camel connectors for external connectivity
OpenFaaS KubeCon Zero to Serverless in 60 seconds anywhere
Akka and AngularJS – Reactive Applications in Practice
Getting Started with Apache Camel at DevNation 2014
Zero to Serverless - OpenFaaS at the Open Source Summit

What's hot (20)

PDF
Building an API with Django and Django REST Framework
PDF
Knowing Laravel 5 : The most popular PHP framework
PDF
Apache Camel - The integration library
ODP
Microservices with Apache Camel
PDF
OpenFaaS JeffConf 2017 - Milan
PDF
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
PPT
Interoperability at Apache Software Foundation
PPTX
Running Airflow Workflows as ETL Processes on Hadoop
PPTX
Apache Flink Hands-On
PDF
OpenFaaS serverless framework for Docker and Kubernetes - London
PDF
Presentation tim numann
PDF
Function as a Service
PPTX
Alfresco Development Framework Basic
ODP
Microservices with apache_camel_barcelona
PDF
Getting started with Apache Camel - jDays 2013
PDF
OpenFaaS 2019 Project Update
PDF
Manage any AWS resources with Terraform 0.12 - April 2020
ODP
Integration using Apache Camel and Groovy
ODP
Getting started with Apache Camel - May 2013
ODP
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
Building an API with Django and Django REST Framework
Knowing Laravel 5 : The most popular PHP framework
Apache Camel - The integration library
Microservices with Apache Camel
OpenFaaS JeffConf 2017 - Milan
AWS SDK for PHP のインストールから 始めるクラウドマスターへの道 〜 Promise による非同期オペレーション 〜
Interoperability at Apache Software Foundation
Running Airflow Workflows as ETL Processes on Hadoop
Apache Flink Hands-On
OpenFaaS serverless framework for Docker and Kubernetes - London
Presentation tim numann
Function as a Service
Alfresco Development Framework Basic
Microservices with apache_camel_barcelona
Getting started with Apache Camel - jDays 2013
OpenFaaS 2019 Project Update
Manage any AWS resources with Terraform 0.12 - April 2020
Integration using Apache Camel and Groovy
Getting started with Apache Camel - May 2013
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
Ad

Similar to Apache Zeppelin and Helium @ApacheCon 2017 may, FL (12)

PDF
Helium makes Zeppelin fly!
PDF
Apache Zeppelin, Helium and Beyond
PDF
Apache Zeppelin Helium and Beyond
PPTX
Toulouse Data Science meetup - Apache zeppelin
PDF
Data science lifecycle with Apache Zeppelin
PDF
Zeppelin Helium: Spell
PPTX
Future of data visualization
PPTX
Quick Tour On Zeppelin
PDF
Apache Zeppelin on Kubernetes with Spark and Kafka - meetup @twitter
PDF
Apache zeppelin the missing component for the big data ecosystem
PPTX
Zeppelin at twitter (sf data science meetup, july 2016)
PPTX
Data Science lifecycle with Apache Zeppelin and Spark by Moonsoo Lee
Helium makes Zeppelin fly!
Apache Zeppelin, Helium and Beyond
Apache Zeppelin Helium and Beyond
Toulouse Data Science meetup - Apache zeppelin
Data science lifecycle with Apache Zeppelin
Zeppelin Helium: Spell
Future of data visualization
Quick Tour On Zeppelin
Apache Zeppelin on Kubernetes with Spark and Kafka - meetup @twitter
Apache zeppelin the missing component for the big data ecosystem
Zeppelin at twitter (sf data science meetup, july 2016)
Data Science lifecycle with Apache Zeppelin and Spark by Moonsoo Lee
Ad

Recently uploaded (20)

PDF
Modernizing your data center with Dell and AMD
PDF
Network Security Unit 5.pdf for BCA BBA.
PPT
Teaching material agriculture food technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Encapsulation theory and applications.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Machine learning based COVID-19 study performance prediction
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Cloud computing and distributed systems.
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
Modernizing your data center with Dell and AMD
Network Security Unit 5.pdf for BCA BBA.
Teaching material agriculture food technology
Empathic Computing: Creating Shared Understanding
NewMind AI Monthly Chronicles - July 2025
Understanding_Digital_Forensics_Presentation.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation theory and applications.pdf
The AUB Centre for AI in Media Proposal.docx
MYSQL Presentation for SQL database connectivity
Dropbox Q2 2025 Financial Results & Investor Presentation
Machine learning based COVID-19 study performance prediction
Spectral efficient network and resource selection model in 5G networks
Cloud computing and distributed systems.
Reach Out and Touch Someone: Haptics and Empathic Computing
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm

Apache Zeppelin and Helium @ApacheCon 2017 may, FL