It would also be great to see a page somewhere under 
https://zeppelin.incubator.apache.org/docs/index.html which clearly explains 
the relationship between Spark Contexts, notebooks, paragraphs and 
interpreters.  As a new user to Zeppelin I’ve found this to be quite confusing!
For example, I’ve just noticed it seems you can’t mix interpreters in the same 
paragraph, eg., do %dep and later on %spark, or %spark and then %angular….

From: tog [mailto:guillaume.all...@gmail.com]
Sent: 25 September 2015 06:54
To: users@zeppelin.incubator.apache.org
Subject: Re: Zeppelin Anatomy

Hi Alex

Yep, i think the multitenancy set-up has raised numerous questions recently. It 
might be interesting to dedicate a web page to your container approach in the 
doc.

Thanks
Guillaume

On Friday, 25 September 2015, Alex 
<abezzu...@nflabs.com<mailto:abezzu...@nflabs.com>> wrote:
Hi,

Spark context is bounded to Spark interpreter instance, each running in a 
separate process.

All notes that share the same interpreter - are sharing the context too (among 
other things)

You can archive the desired behaviour in multiuser environment right now, I.e 
by creating a separate spark interpreter for each user in case all users share 
access to the same Zeppelin instance.

Another approach that we use for our customers is to host a separate Zeppelin 
instance in container, one per-user, and have a balancing reverse-proxy in 
front of it.

I can share more details on this multi-tenancy setup, if enough people from 
community are interested in it.

Hole this helps!
--
Kind regards,
Alexander

On 25 Sep 2015, at 00:54, Yian Shang 
<yian.sh...@gmail.com<javascript:_e(%7B%7D,'cvml','yian.sh...@gmail.com');>> 
wrote:
Are there any plans to change this so that there will be a separate Spark 
context per Notebook? In a multi-user environment, it is hard to deal with the 
accidental overwriting of user variables.

On Thu, Sep 24, 2015 at 7:19 AM, Rick Moritz 
<rah...@gmail.com<javascript:_e(%7B%7D,'cvml','rah...@gmail.com');>> wrote:
Different instances of Zeppelin (even under the same user) are indeed separate, 
which is (currently) the only way to get any kind of independence into 
notebooks. In comparison, spark-notebook spawns one spark context per Notebook, 
which is somehwat better design, since concurrent useres of the same 
application aren't overwriting each other's variables accidentally, and each 
notebook is indeed "repeatable" and "stand-alone", which is a current deficit 
of Zeppelin, especially ina  multi-user environment.
So yes, closing one context in one instance of Zeppelin will not interefere 
with the other Spark context in the other instance of Zeppelin.

On Thu, Sep 24, 2015 at 4:02 PM, Hammad 
<ham...@flexilogix.com<javascript:_e(%7B%7D,'cvml','ham...@flexilogix.com');>> 
wrote:
Very useful indeed, Rick!

If I have two zeppelin instances running as two different users with same Spark 
Master -  I see them as two different applications in Spark Web UI.

1. will they have their own 'context' of execution in this case? If I 
understand, this would mean that closing a spark context in one user's zeppelin 
will have no impact on another user's zeppelin environment or its not true?

On Thu, Sep 24, 2015 at 4:47 PM, Rick Moritz 
<rah...@gmail.com<javascript:_e(%7B%7D,'cvml','rah...@gmail.com');>> wrote:
1)
Zeppelin uses the spark-shell REPL API. Therefore it behaves similarly to the 
scala shell.
You do not write applications in the shell, in the technical sense, but instead 
evaluate individual expressions with the goal of interacting with a dataset.
You can (manually) export some of the code that you find useful in Zeppelin to 
applications, for example to provide batch-pre-processing.
I recommend you look at demos/descriptions of the interactive shell 
functionality to get an idea, of what Zeppelin offers over an application.
Also: You still have to manage most of your imports ;)

2)
There are two benefits:
- You can import and export/share notebooks. This means it makes sense to split 
content.
- You also reduce the load of the browser, by splitting heavy visualizations 
into multiple notebooks. Once you start rendering tens of thousands of points, 
you start reaching the limits of a browser's capability.
Hopefully this helps you get started.

On Thu, Sep 24, 2015 at 1:04 PM, Hammad 
<ham...@flexilogix.com<javascript:_e(%7B%7D,'cvml','ham...@flexilogix.com');>> 
wrote:
Hi mates,

I was struggling with anatomy of Zeppelin in context of Spark and could not 
find anywhere that could answer my questions in mind as below;

1. Usually a scala application structure is;

import org.apache.<whatever>

obect MyApp{
def main(args: Array[String]){
//something
}
}

whereas, on zeppelin we only write //something. Does it mean that one zeppelin 
daemon is one application? What if I want to write multiple applications on one 
zeppelin daemon instance?

2. Related to (1), if same spark context is shared across all notebooks, whats 
the benefit of having multiple notebooks?

I really appreciate if someone may help me understand above two.

Thanks,
Hmad




--
Flexilogix
Ph: +92 618090374<tel:%2B92%20618090374>
Fax: +92 612011810<tel:%2B92%20612011810>
http://www.flexilogix.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__www.flexilogix.com&d=BQMFaQ&c=IV_clAzoPDE253xZdHuilRgztyh_RiV3wUrLrDQYWSI&r=c1CCNND4PG-Q_V2AJWDWrugZAXQ8Y3EE_f_mAHcpXcs&m=G2GWNaJlswVV3J8GlKQNwwxQ2tO_6M8UKrfQKxQbWDU&s=K59RiRJ1U5lCaT4vlluGKGa96LJIP4AVzIhlD8mynh8&e=>
i...@flexilogix.com<javascript:_e(%7B%7D,'cvml','i...@flexilogix.com');>

Disclaimer:  This transmission (including any attachments) may contain 
confidential information, privileged material or constitute non-public 
information. Any use of this information by anyone other than the intended 
recipient is prohibited. If you have received this transmission in error, 
please immediately reply to the sender and delete this information from your 
system.




--
PGP KeyID: 2048R/EA31CFC9  
subkeys.pgp.net<https://urldefense.proofpoint.com/v2/url?u=http-3A__subkeys.pgp.net&d=BQMFaQ&c=IV_clAzoPDE253xZdHuilRgztyh_RiV3wUrLrDQYWSI&r=c1CCNND4PG-Q_V2AJWDWrugZAXQ8Y3EE_f_mAHcpXcs&m=G2GWNaJlswVV3J8GlKQNwwxQ2tO_6M8UKrfQKxQbWDU&s=j6BGASFG1mEdXErqli7_oyuepWe7tNUQevV-t_99TRM&e=>

Reply via email to