Helium makes Fly!
Moon soo Lee (moon@zepl.com)
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
ACL
Dynamic form
Scheduler
Visualizations
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)
Helium
Pluggable architecture
Pluggable visualization
Built-in Helium
Helium Visualization Examples
How to write new visualization?
http://zeppelin.apache.org/docs/latest/development/writingzeppelinvisualization.html
1. Create standard npm project with ‘zeppelin-vis’ dependency
2. Extend zeppelin-vis/Visualization class
3. Run Zeppelin front-end in development mode
4. Change code and refresh browser to run your Visualization in Zeppelin
$ cd zeppelin-web
$ npm run dev:helium
A Helium visualization is a Standard NPM package
How to write new visualization?
http://zeppelin.apache.org/docs/latest/development/writingzeppelinvisualization.html
1. Create standard npm project with ‘zeppelin-vis’ dependency
2. Extend zeppelin-vis/Visualization class
3. Run Zeppelin front-end in development mode
4. Change code and refresh browser to run your Visualization in Zeppelin
$ cd zeppelin-web
$ npm run dev:helium
A Helium visualization is a Standard NPM package
import Visualization from 'zeppelin-vis'
import PassthroughTransformation from 'zeppelin-tabledata/passthrough'
export default class helloworld extends Visualization {
constructor(targetEl, config) {
super(targetEl, config)
this.passthrough = new PassthroughTransformation(config);
}
render(tableData) {
this.targetEl.html('Hello world!')
}
getTransformation() {
return this.passthrough
}
}
Hello world!
Online registry
NPM registry
Publish
Download
Helium registry (website)
Helium package management
Helium framework
● Pluggable architecture
● Development environment
● Online registry
● Package management
Leverage Helium framework to extend other features, too!
Helium
Visualization
Transformation
SPELL
Application
Helium - Transformation
Extends transformation of visualization
Helium - SPELL
Front-end side interpreter / Display system
Helium - Application
Package that has both front-end and backend
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.zepl.com/viewer
Notebook sharing and collaboration
https://www.zepl.com
Future Roadmap
0.7.2
- Maintenance release.
0.8.0
- Helium online registry.
- Interpreter Cluster mode.
2Q
/2017
3Q
/2017
Thank you.
See also
● Package registry
http://zeppelin.apache.org/helium_packages.html
● Write Visualization
http://zeppelin.apache.org/docs/latest/development/writingzeppelinvisualization.html
● Write Transformation
http://zeppelin.apache.org/docs/latest/development/writingzeppelinvisualization_transformation.html
● Write SPELL
http://zeppelin.apache.org/docs/latest/development/writingzeppelinspell.html
● Write Application
http://zeppelin.apache.org/docs/latest/development/writingzeppelinapplication.html

Helium makes Zeppelin fly!

  • 1.
    Helium makes Fly! Moonsoo Lee (moon@zepl.com)
  • 2.
    What is ApacheZeppelin? A web-based notebook that enables interactive data analytics. You can make beautiful data-driven, interactive and collaborative documents with SQL, Scala and more.
  • 3.
    When do youneed Zeppelin? Engineers Data Scientists Business user ACL Dynamic form Scheduler Visualizations Report When multiple tools and different peoples are involved in your data pipeline JDBC
  • 4.
    Notebook Zeppelin allows usemultiple 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
  • 5.
    Built-in Visualization 6 Basicvisualizations are built-in, (in addition to matplotlib, ggplot integration) (Table, Bar chart, Pie chart, Area chart, Scatter chart, Line chart)
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
    How to writenew visualization? http://zeppelin.apache.org/docs/latest/development/writingzeppelinvisualization.html 1. Create standard npm project with ‘zeppelin-vis’ dependency 2. Extend zeppelin-vis/Visualization class 3. Run Zeppelin front-end in development mode 4. Change code and refresh browser to run your Visualization in Zeppelin $ cd zeppelin-web $ npm run dev:helium A Helium visualization is a Standard NPM package
  • 12.
    How to writenew visualization? http://zeppelin.apache.org/docs/latest/development/writingzeppelinvisualization.html 1. Create standard npm project with ‘zeppelin-vis’ dependency 2. Extend zeppelin-vis/Visualization class 3. Run Zeppelin front-end in development mode 4. Change code and refresh browser to run your Visualization in Zeppelin $ cd zeppelin-web $ npm run dev:helium A Helium visualization is a Standard NPM package
  • 13.
    import Visualization from'zeppelin-vis' import PassthroughTransformation from 'zeppelin-tabledata/passthrough' export default class helloworld extends Visualization { constructor(targetEl, config) { super(targetEl, config) this.passthrough = new PassthroughTransformation(config); } render(tableData) { this.targetEl.html('Hello world!') } getTransformation() { return this.passthrough } } Hello world!
  • 14.
  • 15.
  • 16.
  • 17.
    Helium framework ● Pluggablearchitecture ● Development environment ● Online registry ● Package management Leverage Helium framework to extend other features, too!
  • 18.
  • 19.
    Helium - Transformation Extendstransformation of visualization
  • 20.
    Helium - SPELL Front-endside interpreter / Display system
  • 21.
    Helium - Application Packagethat has both front-end and backend
  • 22.
    extends Zeppelin eco-system Interpreters liumHe 2 4.0026 Visualizations Spell Map Heatmap Range Bubble Spline Sigma D3 MarkdownTranslator Flowchart Spark Python JDBC Groovy Geode FlinkCassandra Kylin Users / Developers 2833 3rd parties
  • 23.
    Useful service Zeppelin notebookonline viewer https://www.zepl.com/viewer Notebook sharing and collaboration https://www.zepl.com
  • 24.
    Future Roadmap 0.7.2 - Maintenancerelease. 0.8.0 - Helium online registry. - Interpreter Cluster mode. 2Q /2017 3Q /2017
  • 25.
    Thank you. See also ●Package registry http://zeppelin.apache.org/helium_packages.html ● Write Visualization http://zeppelin.apache.org/docs/latest/development/writingzeppelinvisualization.html ● Write Transformation http://zeppelin.apache.org/docs/latest/development/writingzeppelinvisualization_transformation.html ● Write SPELL http://zeppelin.apache.org/docs/latest/development/writingzeppelinspell.html ● Write Application http://zeppelin.apache.org/docs/latest/development/writingzeppelinapplication.html