SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
1
Zeppelin Meetup
Moonsoo Lee / Creator of Zeppelin
moon@zepl.com
@apachezeppelin
2
Agenda
⬢ Demo: Real-time Streaming
⬢ Demo: Zeppelin on Kubernetes
⬢ Zeppelin Roadmap
⬢ Q&A
3
DEMO
Real-time
Streaming
4
+ +
5
DEMO
Zeppelin on Kubernetes
6
Zeppelin server
nginx
DNS
resolver
Pod
Kubernetes
ApiServer
Pod
Python
Interpreter
python-intp
rpc 12321
Pod
Spark
Interpreter
spark-intp
rpc 12321
spark-driver 22321
spark-block
manager
22322
spark-ui 4040
Service
Spark
exec
Spark
execzeppelin-server
http 80
rpc 12320
Create interpreter pod Create spark executor pod
Ingress
Service
Service
7
Benefits
MULTI-TENANCY
Each note and/or user has own
container for interpreters
SCALABILITY
Single host does not run all
interpreters anymore
SECURITY
Each container is isolated
(filesystem, process etc.)
8
Usage
$ kubectl apply -f ${ZEPPELIN_HOME}/k8s/zeppelin-server.yaml
* Need to build your own Zeppelin and Spark docker image before 0.9.0 is released
1. Build Zeppelin distribution package mvn package -Pbuild-distr …
2. Build Zeppelin docker image cd scripts/docker/zeppelin/bin; docker build -t …
3. Build Spark docker image <spark-distribution>/bin/docker-image-tool.sh -m -t 2.4.0 build
Available in 0.9.0-SNAPSHOT
http://zeppelin.apache.org/docs/0.9.0-SNAPSHOT/quickstart/kubernetes.html
Run
9
Zeppelin Roadmap
- Zeppelin on Kubernetes
- Apply network policy to isolate Interpreter Pod
- Schedule note on background as a Job in Kubernetes
- Run extra application such as terminal, tensorboard, the sameway SparkUI works
- Modernize front-end stack
- Currently AngularJS
- Dark theme?
- Visualization
- Realtime data visualization
- Pivot in the backend side, instead of doing it in a front-end that require transfer all data to front-end
- Sidebar
- Sidebar with widgets, such as ToC (Table of Contents, list of data, etc)
- Online widget registry (Helium)
- Collaboration
- Multi-cursor edit
- Comment!
10
Zeppelin Roadmap
Modernize
front-end stack
• Currently AngularJS
• Dark theme
Zeppelin on
Kubernetes
• Apply network policy to isolate
Interpreter Pod
• Schedule note on background as a
Job in Kubernetes
• Run extra application such as
terminal, tensorboard, the sameway
SparkUI works
Collaboration
• Multi-cursor edit
• Comment!
Sidebar
• Sidebar with widgets, such as ToC
(Table of Contents, list of data, etc)
• Online widget registry (Helium)
Visualization
• Realtime data visualization
• Pivot in the backend side,
instead of doing it in a front-end
that require transfer all data to
front-end
11
Mailing list
- Users: users@zeppelin.apache.org
- Dev: dev@zeppelin.apache.org
JIRA
- https://issues.apache.org/jira/projects/ZEPPELIN
Github
- https://github.com/apache/zeppelin
Questions,
Suggestions,
Discussions, Votes!
Bug report, Track
development/release
progress
Fixes, improvements,
new features
Join Apache Zeppelin community.
12
www.zepl.com
Q&A
https://zeppelin.apache.org/
Moonsoo Lee / Creator of Zeppelin
moon@zepl.com
@issuefreaks
Send Mei Long your email for Apache Zeppelin
Slack invite: mlong@zepl.com
@meitrappist1
@ApacheZeppelin
13
Backup slides
14
Visualization
15
Transformation on browser (current)
Zeppelin Server
{
title: ….
text: “select job, count(1) from data”,
paragraphs: [
{
results: {
code: SUCCESS,
msg: [
type: TABLE,
data:
http
thrift
age balance job
21 1030 Student
34 20331 Engineer
50 30193 Engineer
33 12019 Teacher
23 23211 Engineer
29 92327 Student
... ... ...
age balance job
21 1030 Student
34 20331 Engineer
50 30193 Marketing
33 12019 Engineer
23 23211 Engineer
29 92327 Student
... ... ...
age balance job
21 1030 Student
34 20331 Engineer
50 30193 Engineer
33 12019 Teacher
23 23211 Engineer
29 92327 Student
... ... ...
Interpreter
Transform (pivot)
age balance job
21 1030 Student
34 20331 Engineer
50 30193 Engineer
33 12019 Teacher
23 23211 Engineer
29 92327 Student
... ... ...
Browser
job count
Student 2
Engineer 3
Teacher 1
Render
16
Problem
- Entire result dataset need to be transferred to browser, even though not all of
them are rendered.
- Browser CPU, memory is limitation of transforming / rendering data
17
Transformation on Server Zeppelin Server
{
title: ….
text: “select job, count(1) from data”,
paragraphs: [
{
results: {
code: SUCCESS,
msg: [
type: TABLE,
data:
Note update
thrift
age balance job
21 1030 Student
34 20331 Engineer
50 30193 Marketing
33 12019 Engineer
23 23211 Engineer
29 92327 Student
... ... ...
age balance job
21 1030 Student
34 20331 Engineer
50 30193 Engineer
33 12019 Teacher
23 23211 Engineer
29 92327 Student
... ... ...
Interpreter
Browser
job count
Student 2
Engineer 3
Teacher 1
Render
Transform (pivot)
job count
Student 2
Engineer 3
Teacher 1
job count
Student 2
Engineer 3
Teacher 1
Transform request (pivot)
Result dataset fetch
18
Transformation on Interpreter Zeppelin Server
{
title: ….
text: “select job, count(1) from data”,
paragraphs: [
{
results: {
code: SUCCESS,
msg: [
type: TABLE,
data:
Result dataset fetch
thrift
age balance job
21 1030 Student
34 20331 Engineer
50 30193 Marketing
33 12019 Engineer
23 23211 Engineer
29 92327 Student
... ... ...
Interpreter
Browser
job count
Student 2
Engineer 3
Teacher 1
Render
Transform (pivot)
job count
Student 2
Engineer 3
Teacher 1
Transform request (pivot)
job count
Student 2
Engineer 3
Teacher 1
Transform request
(pivot)
job count
Student 2
Engineer 3
Teacher 1
Note update
19
Transformation on where data is Zeppelin Server
{
title: ….
text: “select job, count(1) from data”,
paragraphs: [
{
results: {
code: SUCCESS,
msg: [
type: TABLE,
data:
thrift
age balance job
21 1030 Student
34 20331 Engineer
50 30193 Marketing
33 12019 Engineer
23 23211 Engineer
29 92327 Student
... ... ...
Interpreter
Browser
job count
Student 2
Engineer 3
Teacher 1
Render
Transform
pushdown
job count
Student 2
Engineer 3
Teacher 1
Transform request (pivot)
job count
Student 2
Engineer 3
Teacher 1
Transform request
(pivot)
Result dataset fetch
job count
Student 2
Engineer 3
Teacher 1
Note update
20
Related work
- Streaming data update (without refresh notebook)
- Separate transfer for result dataset and note to browser
- Partial data fetch for table display
- Extending TableData API
21
Sidebar and plugin widget
22
>
Sidebar show button.
23
Sidebar widget #1
Sidebar widget #2
Group1 Group2 <
Sidebar hide button
Sidebar widgets
Sidebar widget can
be grouped
24
Contents
1. This is notebook
a. First
b. Second
2. Next
a. Next
One of the most popular feature in Jupyter.
Google Colab also supports it.
Zeppelin has SPELL
See https://www.npmjs.com/package/zeppelin-toc-spell
TOC (table of contents) widget
25
Displays list of table, schema of table, preview of data
recognized by Interpreter
Table data widget
Name Temporary
table1 no
bank yes
Tables
Column Type
age INT
job TEXT
Schema
Preview
26
Drag and drop paragraph to the clipboard.
In the same or in another notebook and drag and drop
paragraph from clipboard.
Clipboard
Drop paragraph here
Paragraph a
Paragraph b
27
Widget on Helium registry
28
Thank you!
Please contact Mei Long mlong@zepl.com with your email
address for an invite to Apache Zeppelin Slack workspace

Más contenido relacionado

La actualidad más candente

Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformDevOps.com
 
Managing enterprise users in Hadoop ecosystem
Managing enterprise users in Hadoop ecosystemManaging enterprise users in Hadoop ecosystem
Managing enterprise users in Hadoop ecosystemDataWorks Summit
 
Kafka Connect - debezium
Kafka Connect - debeziumKafka Connect - debezium
Kafka Connect - debeziumKasun Don
 
Towards Flink 2.0: Unified Batch & Stream Processing - Aljoscha Krettek, Verv...
Towards Flink 2.0: Unified Batch & Stream Processing - Aljoscha Krettek, Verv...Towards Flink 2.0: Unified Batch & Stream Processing - Aljoscha Krettek, Verv...
Towards Flink 2.0: Unified Batch & Stream Processing - Aljoscha Krettek, Verv...Flink Forward
 
Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Krishna-Kumar
 
AutoUpgrade and Best Practices
AutoUpgrade and Best PracticesAutoUpgrade and Best Practices
AutoUpgrade and Best PracticesJitendra Singh
 
Apache Hadoop Security - Ranger
Apache Hadoop Security - RangerApache Hadoop Security - Ranger
Apache Hadoop Security - RangerIsheeta Sanghi
 
Real World Event Sourcing and CQRS
Real World Event Sourcing and CQRSReal World Event Sourcing and CQRS
Real World Event Sourcing and CQRSMatthew Hawkins
 
Using Apache Hive with High Performance
Using Apache Hive with High PerformanceUsing Apache Hive with High Performance
Using Apache Hive with High PerformanceInderaj (Raj) Bains
 
Kubernetes Architecture - beyond a black box - Part 2
Kubernetes Architecture - beyond a black box - Part 2Kubernetes Architecture - beyond a black box - Part 2
Kubernetes Architecture - beyond a black box - Part 2Hao H. Zhang
 
Airflow at lyft for Airflow summit 2020 conference
Airflow at lyft for Airflow summit 2020 conferenceAirflow at lyft for Airflow summit 2020 conference
Airflow at lyft for Airflow summit 2020 conferenceTao Feng
 
2022-06-23 Apache Arrow and DataFusion_ Changing the Game for implementing Da...
2022-06-23 Apache Arrow and DataFusion_ Changing the Game for implementing Da...2022-06-23 Apache Arrow and DataFusion_ Changing the Game for implementing Da...
2022-06-23 Apache Arrow and DataFusion_ Changing the Game for implementing Da...Andrew Lamb
 
Introduction to Kafka Streams
Introduction to Kafka StreamsIntroduction to Kafka Streams
Introduction to Kafka StreamsGuozhang Wang
 
Hadoop Security Today & Tomorrow with Apache Knox
Hadoop Security Today & Tomorrow with Apache KnoxHadoop Security Today & Tomorrow with Apache Knox
Hadoop Security Today & Tomorrow with Apache KnoxVinay Shukla
 
Monitoring with prometheus
Monitoring with prometheusMonitoring with prometheus
Monitoring with prometheusKasper Nissen
 
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaPrometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaSridhar Kumar N
 

La actualidad más candente (20)

Kubernetes CI/CD with Helm
Kubernetes CI/CD with HelmKubernetes CI/CD with Helm
Kubernetes CI/CD with Helm
 
Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with Terraform
 
Managing enterprise users in Hadoop ecosystem
Managing enterprise users in Hadoop ecosystemManaging enterprise users in Hadoop ecosystem
Managing enterprise users in Hadoop ecosystem
 
Kafka Connect - debezium
Kafka Connect - debeziumKafka Connect - debezium
Kafka Connect - debezium
 
Towards Flink 2.0: Unified Batch & Stream Processing - Aljoscha Krettek, Verv...
Towards Flink 2.0: Unified Batch & Stream Processing - Aljoscha Krettek, Verv...Towards Flink 2.0: Unified Batch & Stream Processing - Aljoscha Krettek, Verv...
Towards Flink 2.0: Unified Batch & Stream Processing - Aljoscha Krettek, Verv...
 
Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!
 
Prometheus monitoring
Prometheus monitoringPrometheus monitoring
Prometheus monitoring
 
AutoUpgrade and Best Practices
AutoUpgrade and Best PracticesAutoUpgrade and Best Practices
AutoUpgrade and Best Practices
 
Apache Hadoop Security - Ranger
Apache Hadoop Security - RangerApache Hadoop Security - Ranger
Apache Hadoop Security - Ranger
 
Real World Event Sourcing and CQRS
Real World Event Sourcing and CQRSReal World Event Sourcing and CQRS
Real World Event Sourcing and CQRS
 
Apache Ranger
Apache RangerApache Ranger
Apache Ranger
 
Using Apache Hive with High Performance
Using Apache Hive with High PerformanceUsing Apache Hive with High Performance
Using Apache Hive with High Performance
 
Kubernetes Architecture - beyond a black box - Part 2
Kubernetes Architecture - beyond a black box - Part 2Kubernetes Architecture - beyond a black box - Part 2
Kubernetes Architecture - beyond a black box - Part 2
 
Airflow at lyft for Airflow summit 2020 conference
Airflow at lyft for Airflow summit 2020 conferenceAirflow at lyft for Airflow summit 2020 conference
Airflow at lyft for Airflow summit 2020 conference
 
2022-06-23 Apache Arrow and DataFusion_ Changing the Game for implementing Da...
2022-06-23 Apache Arrow and DataFusion_ Changing the Game for implementing Da...2022-06-23 Apache Arrow and DataFusion_ Changing the Game for implementing Da...
2022-06-23 Apache Arrow and DataFusion_ Changing the Game for implementing Da...
 
Monitoring with Prometheus
Monitoring with PrometheusMonitoring with Prometheus
Monitoring with Prometheus
 
Introduction to Kafka Streams
Introduction to Kafka StreamsIntroduction to Kafka Streams
Introduction to Kafka Streams
 
Hadoop Security Today & Tomorrow with Apache Knox
Hadoop Security Today & Tomorrow with Apache KnoxHadoop Security Today & Tomorrow with Apache Knox
Hadoop Security Today & Tomorrow with Apache Knox
 
Monitoring with prometheus
Monitoring with prometheusMonitoring with prometheus
Monitoring with prometheus
 
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaPrometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
 

Similar a Apache Zeppelin on Kubernetes with Spark and Kafka - meetup @twitter

Why Airflow? & What's new in Airflow 2.3?
Why Airflow? & What's new in Airflow 2.3?Why Airflow? & What's new in Airflow 2.3?
Why Airflow? & What's new in Airflow 2.3?Kaxil Naik
 
Apache Flink internals
Apache Flink internalsApache Flink internals
Apache Flink internalsKostas Tzoumas
 
Building Stream Processing as a Service
Building Stream Processing as a ServiceBuilding Stream Processing as a Service
Building Stream Processing as a ServiceSteven Wu
 
40043 claborn
40043 claborn40043 claborn
40043 clabornBaba Ib
 
BenchFlow: A Platform for End-to-end Automation of Performance Testing and An...
BenchFlow: A Platform for End-to-end Automation of Performance Testing and An...BenchFlow: A Platform for End-to-end Automation of Performance Testing and An...
BenchFlow: A Platform for End-to-end Automation of Performance Testing and An...Vincenzo Ferme
 
Testing Persistent Storage Performance in Kubernetes with Sherlock
Testing Persistent Storage Performance in Kubernetes with SherlockTesting Persistent Storage Performance in Kubernetes with Sherlock
Testing Persistent Storage Performance in Kubernetes with SherlockScyllaDB
 
Profiling & Testing with Spark
Profiling & Testing with SparkProfiling & Testing with Spark
Profiling & Testing with SparkRoger Rafanell Mas
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinLeanIX GmbH
 
Flink Forward Berlin 2018: Steven Wu - "Failure is not fatal: what is your re...
Flink Forward Berlin 2018: Steven Wu - "Failure is not fatal: what is your re...Flink Forward Berlin 2018: Steven Wu - "Failure is not fatal: what is your re...
Flink Forward Berlin 2018: Steven Wu - "Failure is not fatal: what is your re...Flink Forward
 
OpenFaaS JeffConf 2017 - Milan
OpenFaaS JeffConf 2017 - MilanOpenFaaS JeffConf 2017 - Milan
OpenFaaS JeffConf 2017 - MilanAlex Ellis
 
Complex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBoxComplex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBoxbobmcwhirter
 
SCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingSCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingStanislav Osipov
 
DCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application PackagesDCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application PackagesDocker, Inc.
 
From Kubernetes to OpenStack in Sydney
From Kubernetes to OpenStack in SydneyFrom Kubernetes to OpenStack in Sydney
From Kubernetes to OpenStack in SydneySK Telecom
 
Camel on Cloud by Christina Lin
Camel on Cloud by Christina LinCamel on Cloud by Christina Lin
Camel on Cloud by Christina LinTadayoshi Sato
 
Cloud Native Serverless Java — Orkhan Gasimov
Cloud Native Serverless Java — Orkhan GasimovCloud Native Serverless Java — Orkhan Gasimov
Cloud Native Serverless Java — Orkhan GasimovGlobalLogic Ukraine
 

Similar a Apache Zeppelin on Kubernetes with Spark and Kafka - meetup @twitter (20)

Why Airflow? & What's new in Airflow 2.3?
Why Airflow? & What's new in Airflow 2.3?Why Airflow? & What's new in Airflow 2.3?
Why Airflow? & What's new in Airflow 2.3?
 
Apache Flink internals
Apache Flink internalsApache Flink internals
Apache Flink internals
 
Building Stream Processing as a Service
Building Stream Processing as a ServiceBuilding Stream Processing as a Service
Building Stream Processing as a Service
 
40043 claborn
40043 claborn40043 claborn
40043 claborn
 
BenchFlow: A Platform for End-to-end Automation of Performance Testing and An...
BenchFlow: A Platform for End-to-end Automation of Performance Testing and An...BenchFlow: A Platform for End-to-end Automation of Performance Testing and An...
BenchFlow: A Platform for End-to-end Automation of Performance Testing and An...
 
Testing Persistent Storage Performance in Kubernetes with Sherlock
Testing Persistent Storage Performance in Kubernetes with SherlockTesting Persistent Storage Performance in Kubernetes with Sherlock
Testing Persistent Storage Performance in Kubernetes with Sherlock
 
Sprint 17
Sprint 17Sprint 17
Sprint 17
 
Google Cloud Dataflow
Google Cloud DataflowGoogle Cloud Dataflow
Google Cloud Dataflow
 
Flink internals web
Flink internals web Flink internals web
Flink internals web
 
Profiling & Testing with Spark
Profiling & Testing with SparkProfiling & Testing with Spark
Profiling & Testing with Spark
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
 
Flink Forward Berlin 2018: Steven Wu - "Failure is not fatal: what is your re...
Flink Forward Berlin 2018: Steven Wu - "Failure is not fatal: what is your re...Flink Forward Berlin 2018: Steven Wu - "Failure is not fatal: what is your re...
Flink Forward Berlin 2018: Steven Wu - "Failure is not fatal: what is your re...
 
OpenFaaS JeffConf 2017 - Milan
OpenFaaS JeffConf 2017 - MilanOpenFaaS JeffConf 2017 - Milan
OpenFaaS JeffConf 2017 - Milan
 
Complex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBoxComplex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBox
 
SCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingSCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scaling
 
DCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application PackagesDCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application Packages
 
From Kubernetes to OpenStack in Sydney
From Kubernetes to OpenStack in SydneyFrom Kubernetes to OpenStack in Sydney
From Kubernetes to OpenStack in Sydney
 
Camel on Cloud by Christina Lin
Camel on Cloud by Christina LinCamel on Cloud by Christina Lin
Camel on Cloud by Christina Lin
 
Cloud Native Serverless Java — Orkhan Gasimov
Cloud Native Serverless Java — Orkhan GasimovCloud Native Serverless Java — Orkhan Gasimov
Cloud Native Serverless Java — Orkhan Gasimov
 
All Change
All ChangeAll Change
All Change
 

Último

Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Delhi Call girls
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAroojKhan71
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightDelhi Call girls
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...amitlee9823
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
ELKO dropshipping via API with DroFx.pptx
ELKO dropshipping via API with DroFx.pptxELKO dropshipping via API with DroFx.pptx
ELKO dropshipping via API with DroFx.pptxolyaivanovalion
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...SUHANI PANDEY
 
Probability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsProbability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsJoseMangaJr1
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...amitlee9823
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 

Último (20)

Anomaly detection and data imputation within time series
Anomaly detection and data imputation within time seriesAnomaly detection and data imputation within time series
Anomaly detection and data imputation within time series
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
ELKO dropshipping via API with DroFx.pptx
ELKO dropshipping via API with DroFx.pptxELKO dropshipping via API with DroFx.pptx
ELKO dropshipping via API with DroFx.pptx
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
Probability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter LessonsProbability Grade 10 Third Quarter Lessons
Probability Grade 10 Third Quarter Lessons
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 

Apache Zeppelin on Kubernetes with Spark and Kafka - meetup @twitter

  • 1. 1 Zeppelin Meetup Moonsoo Lee / Creator of Zeppelin moon@zepl.com @apachezeppelin
  • 2. 2 Agenda ⬢ Demo: Real-time Streaming ⬢ Demo: Zeppelin on Kubernetes ⬢ Zeppelin Roadmap ⬢ Q&A
  • 6. 6 Zeppelin server nginx DNS resolver Pod Kubernetes ApiServer Pod Python Interpreter python-intp rpc 12321 Pod Spark Interpreter spark-intp rpc 12321 spark-driver 22321 spark-block manager 22322 spark-ui 4040 Service Spark exec Spark execzeppelin-server http 80 rpc 12320 Create interpreter pod Create spark executor pod Ingress Service Service
  • 7. 7 Benefits MULTI-TENANCY Each note and/or user has own container for interpreters SCALABILITY Single host does not run all interpreters anymore SECURITY Each container is isolated (filesystem, process etc.)
  • 8. 8 Usage $ kubectl apply -f ${ZEPPELIN_HOME}/k8s/zeppelin-server.yaml * Need to build your own Zeppelin and Spark docker image before 0.9.0 is released 1. Build Zeppelin distribution package mvn package -Pbuild-distr … 2. Build Zeppelin docker image cd scripts/docker/zeppelin/bin; docker build -t … 3. Build Spark docker image <spark-distribution>/bin/docker-image-tool.sh -m -t 2.4.0 build Available in 0.9.0-SNAPSHOT http://zeppelin.apache.org/docs/0.9.0-SNAPSHOT/quickstart/kubernetes.html Run
  • 9. 9 Zeppelin Roadmap - Zeppelin on Kubernetes - Apply network policy to isolate Interpreter Pod - Schedule note on background as a Job in Kubernetes - Run extra application such as terminal, tensorboard, the sameway SparkUI works - Modernize front-end stack - Currently AngularJS - Dark theme? - Visualization - Realtime data visualization - Pivot in the backend side, instead of doing it in a front-end that require transfer all data to front-end - Sidebar - Sidebar with widgets, such as ToC (Table of Contents, list of data, etc) - Online widget registry (Helium) - Collaboration - Multi-cursor edit - Comment!
  • 10. 10 Zeppelin Roadmap Modernize front-end stack • Currently AngularJS • Dark theme Zeppelin on Kubernetes • Apply network policy to isolate Interpreter Pod • Schedule note on background as a Job in Kubernetes • Run extra application such as terminal, tensorboard, the sameway SparkUI works Collaboration • Multi-cursor edit • Comment! Sidebar • Sidebar with widgets, such as ToC (Table of Contents, list of data, etc) • Online widget registry (Helium) Visualization • Realtime data visualization • Pivot in the backend side, instead of doing it in a front-end that require transfer all data to front-end
  • 11. 11 Mailing list - Users: users@zeppelin.apache.org - Dev: dev@zeppelin.apache.org JIRA - https://issues.apache.org/jira/projects/ZEPPELIN Github - https://github.com/apache/zeppelin Questions, Suggestions, Discussions, Votes! Bug report, Track development/release progress Fixes, improvements, new features Join Apache Zeppelin community.
  • 12. 12 www.zepl.com Q&A https://zeppelin.apache.org/ Moonsoo Lee / Creator of Zeppelin moon@zepl.com @issuefreaks Send Mei Long your email for Apache Zeppelin Slack invite: mlong@zepl.com @meitrappist1 @ApacheZeppelin
  • 15. 15 Transformation on browser (current) Zeppelin Server { title: …. text: “select job, count(1) from data”, paragraphs: [ { results: { code: SUCCESS, msg: [ type: TABLE, data: http thrift age balance job 21 1030 Student 34 20331 Engineer 50 30193 Engineer 33 12019 Teacher 23 23211 Engineer 29 92327 Student ... ... ... age balance job 21 1030 Student 34 20331 Engineer 50 30193 Marketing 33 12019 Engineer 23 23211 Engineer 29 92327 Student ... ... ... age balance job 21 1030 Student 34 20331 Engineer 50 30193 Engineer 33 12019 Teacher 23 23211 Engineer 29 92327 Student ... ... ... Interpreter Transform (pivot) age balance job 21 1030 Student 34 20331 Engineer 50 30193 Engineer 33 12019 Teacher 23 23211 Engineer 29 92327 Student ... ... ... Browser job count Student 2 Engineer 3 Teacher 1 Render
  • 16. 16 Problem - Entire result dataset need to be transferred to browser, even though not all of them are rendered. - Browser CPU, memory is limitation of transforming / rendering data
  • 17. 17 Transformation on Server Zeppelin Server { title: …. text: “select job, count(1) from data”, paragraphs: [ { results: { code: SUCCESS, msg: [ type: TABLE, data: Note update thrift age balance job 21 1030 Student 34 20331 Engineer 50 30193 Marketing 33 12019 Engineer 23 23211 Engineer 29 92327 Student ... ... ... age balance job 21 1030 Student 34 20331 Engineer 50 30193 Engineer 33 12019 Teacher 23 23211 Engineer 29 92327 Student ... ... ... Interpreter Browser job count Student 2 Engineer 3 Teacher 1 Render Transform (pivot) job count Student 2 Engineer 3 Teacher 1 job count Student 2 Engineer 3 Teacher 1 Transform request (pivot) Result dataset fetch
  • 18. 18 Transformation on Interpreter Zeppelin Server { title: …. text: “select job, count(1) from data”, paragraphs: [ { results: { code: SUCCESS, msg: [ type: TABLE, data: Result dataset fetch thrift age balance job 21 1030 Student 34 20331 Engineer 50 30193 Marketing 33 12019 Engineer 23 23211 Engineer 29 92327 Student ... ... ... Interpreter Browser job count Student 2 Engineer 3 Teacher 1 Render Transform (pivot) job count Student 2 Engineer 3 Teacher 1 Transform request (pivot) job count Student 2 Engineer 3 Teacher 1 Transform request (pivot) job count Student 2 Engineer 3 Teacher 1 Note update
  • 19. 19 Transformation on where data is Zeppelin Server { title: …. text: “select job, count(1) from data”, paragraphs: [ { results: { code: SUCCESS, msg: [ type: TABLE, data: thrift age balance job 21 1030 Student 34 20331 Engineer 50 30193 Marketing 33 12019 Engineer 23 23211 Engineer 29 92327 Student ... ... ... Interpreter Browser job count Student 2 Engineer 3 Teacher 1 Render Transform pushdown job count Student 2 Engineer 3 Teacher 1 Transform request (pivot) job count Student 2 Engineer 3 Teacher 1 Transform request (pivot) Result dataset fetch job count Student 2 Engineer 3 Teacher 1 Note update
  • 20. 20 Related work - Streaming data update (without refresh notebook) - Separate transfer for result dataset and note to browser - Partial data fetch for table display - Extending TableData API
  • 23. 23 Sidebar widget #1 Sidebar widget #2 Group1 Group2 < Sidebar hide button Sidebar widgets Sidebar widget can be grouped
  • 24. 24 Contents 1. This is notebook a. First b. Second 2. Next a. Next One of the most popular feature in Jupyter. Google Colab also supports it. Zeppelin has SPELL See https://www.npmjs.com/package/zeppelin-toc-spell TOC (table of contents) widget
  • 25. 25 Displays list of table, schema of table, preview of data recognized by Interpreter Table data widget Name Temporary table1 no bank yes Tables Column Type age INT job TEXT Schema Preview
  • 26. 26 Drag and drop paragraph to the clipboard. In the same or in another notebook and drag and drop paragraph from clipboard. Clipboard Drop paragraph here Paragraph a Paragraph b
  • 28. 28 Thank you! Please contact Mei Long mlong@zepl.com with your email address for an invite to Apache Zeppelin Slack workspace