Hi Denny,
interpreter.json saves informations not only properties for each
interpreter settings, but also binding of interpreter setting and each
notebooks. for instance,
"interpreterBindings": {
"2AYGPYH6N": [
"2AYSNKH1P",
"2AXP4N64K",
"2AXDCYDE9",
"2AXF6Y261",
"2AZDGUZ6J"
],
...
}
When paragraph is about to run, jobRun() method extracts interpreter name
from code of paragraph, and select appropriate one among interpreter
settings binded to current notebook [2].
Hope this helps.
Thanks,
moon
[1]
https://github.com/apache/incubator-zeppelin/blob/master/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java#L233
[2]
https://github.com/apache/incubator-zeppelin/blob/master/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java#L234
On Sat, May 28, 2016 at 3:00 AM Denny Wong <[email protected]>
wrote:
> Hi Moon
>
> I see in the interpreter.json, each interpreter has an id associated. Is
> this id used in anyway? Does Zeppelin use the name and group attributes
> only to figure out the interpreter to use for each paragraph? When does
> Zeppelin figure out interpreter to use? Each time when a paragraph is
> about to run?
> 2B5UBR2T1": {
> "id": "2B5UBR2T1",
> "name": "psql",
> "group": "psql",
> "properties": {
> "postgresql.password": "",
> "postgresql.driver.name": "org.postgresql.Driver",
> "postgresql.max.result": "1000",
> "postgresql.url": "jdbc:postgresql://localhost:5432/",
> "postgresql.user": "gpadmin"
>
> Thanks
> Denny
>
> > On May 28, 2016, at 1:54 AM, moon soo Lee <[email protected]> wrote:
> >
> > Hi Denny,
> >
> > Binding information between interpreter and notebook is persisted in
> > 'conf/interpreter.json'. So normally, notebook will not have any problem
> > when imported to a different instance.
> >
> > The interpreter ids in 'angularObject' section is used for restoring
> > angularObject. So when a notebook which includes angularObject is
> imported
> > to a different instance, angularObject will be restored to front-end
> side,
> > but will not automatically restored to the backend (interpreter) side.
> Most
> > case, user will just need to run notebook to create angularObject in the
> > new instance.
> >
> > Thanks,
> > moon
> >
> > On Fri, May 27, 2016 at 8:29 PM denny wong <[email protected]>
> > wrote:
> >
> >> If I export a notebook from one Zeppelin instance and import it to a
> >> different instance. There are possibilities that the new instance may
> have
> >> different interpreter settings, so the interpreter ids may be different.
> >> How does Zeppelin resolve the id differences? The interpreter ids seem
> >> embedded in the notebook json data. If any of these ids don't match the
> >> interpreters in the new instance, what would happen?
> >> "angularObjects": { "2BDFTKHGQ": [], "2BB471VK2": [],
> >> "2BCJUYDVX": [], "2BC45AGQM": [], "2BCGRMV7H": [],
> >> "2BDGM8X1N": [], "2BC7KXZAS": [], "2BENDU4PZ": [],
> >> "2BD552SA5": [], "2BDQVWF7N": [], "2BBJTY1M2": [],
> >> "2BCKDVMGA": [], "2BC1DGS1Y": [], "2BD89FPEV": [],
> >> "2BBBNC5BZ": [], "2BAX63HFB": [], "2BE4DCPJG": [] },
> >> Thanks,
> >> Denny
>