About question *if no zeppelin-site.xml is present, where does the conf is taken from?*
Default value of configurations are defined https://github.com/apache/incubator-zeppelin/blob/master/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java#L397 Thanks, moon On Sun, Jul 12, 2015 at 10:22 PM IT CTO <[email protected]> wrote: > Hi, > Thanks for the detailed explanation I followed the code path and got to the > same results. I am going to update the documentation as right now the > process for an "internal\community interpreter" is different from the > process for a private interpreter (e.g. one that is not part of the public > build) also, I think that one should not need to follow the code as you did > to figure this out. > Thanks. > Eran > > On Sun, Jul 12, 2015 at 10:46 PM DuyHai Doan <[email protected]> wrote: > > > Hello Eran > > > > I'm developing right now a Cassandra Interpreter so I ran into the same > > questions. > > > > 3) if not found, ??? traverse the interpreter directory for all available > > interpreters? where does it get the default parameters from? > > > > All the bootstrap process is inside > > org.apache.zeppelin.interpreter.InterpreterFactory > > > > a. when the factory is created, it first accesses the class > > ZeppelinConfiguration and look for the attribute "ZEPPELIN_INTERPRETERS" > to > > get a list of all possible interpreter classes > > > > b. upon call on method init(), Zeppelin will scan the folder " > > zeppelin.interpreter.dir" (default value = $ZEPPELIN_HOME/interpreter). > For > > each found interpreter, it will look at the interpreter classes found > > previously at step a. > > > > c. then the ZeppelinFactory will call Class.forName("interpreter fully > > qualified class name", true) to initialise the static block in your > > Interpreter class. Normally your interpreter class should have the > > following static block: > > > > static { > > Interpreter.register("dummyInterpreter", "dummyInterpreter", > > MyInterpreter.class.getName(), > > new InterpreterPropertyBuilder() > > .add(FIRST_PROPERTY, DEFAULT_VALUE,"Description of this property") > > ... > > ); > > } > > > > > > When you click on the "Interpreter" menu on the web interface to create a > > new interpreter setting, the default conf is taken from this static init > > block > > > > Hope that helps > > > > > > > > > > On Sun, Jul 12, 2015 at 8:10 AM, IT CTO <[email protected]> wrote: > > > > > please help me understand the interpreter configuration process > > > > > > 1) When zeppelin first start it looks for interpreter.json in the conf > > dir > > > 2) if found, uses that json for the configuration shown in the config > > menu. > > > 3) if not found, ??? traverse the interpreter directory for all > available > > > interpreters? where does it get the default parameters from? > > > 4) when user click Create+ button on the interpreter menu, the form > > shows a > > > name and the interpreter combo-box is derived from the interpreter REST > > API > > > that in turn gets its value from the interpreterFactory( > > > > > > > > > https://github.com/apache/incubator-zeppelin/blob/12e5abf2803e4c5015998672b10642fc72aac0da/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java#L94 > > > ) > > > . > > > *if no zeppelin-site.xml is present, where does the conf is taken > from?* > > > > > > 5) current docs say we should add the new interpreter to the site.xml > > file > > > - but all other interpreters are not in this file (actually only a > > template > > > file is given with a fresh install) - I think docs should say something > > > about "defaults interpreters which "ship" with zeppelin and other > > > interpreters - or on the other hand this step is not needed? > > > > > > Thanks for the opportunity to take part in this project :-) > > > Eran > > > > > > On Thu, Jul 9, 2015 at 6:36 PM Eran W (JIRA) <[email protected]> wrote: > > > > > > > Eran W created ZEPPELIN-163: > > > > ------------------------------- > > > > > > > > Summary: Change Writing Zeppelin Interpreter > documentation > > > > page > > > > Key: ZEPPELIN-163 > > > > URL: > > https://issues.apache.org/jira/browse/ZEPPELIN-163 > > > > Project: Zeppelin > > > > Issue Type: Improvement > > > > Reporter: Eran W > > > > Priority: Minor > > > > > > > > > > > > 1) change wording on What is Zeppelin Interpreter > > > > Interpreter can be launched either using separate JVM process or > > separate > > > > classloader. The defualt is using separate JVM process (by checking > > > 'fork' > > > > in Interpreter menu). When Interpreter is running in separate JVM > > > process, > > > > it's communicating with Zeppelin via thrift. The other option is to > use > > > > separate classloader, note that somtime separate classloader can > causes > > > > problem especially when your interpreter uses reflections or trying > to > > > grab > > > > standard out/err. > > > > > > > > 2) Add to Configure your interpreter > > > > What do we need to do for the interpreter to show up in the > interpreter > > > > menu... > > > > > > > > > > > > > > > > -- > > > > This message was sent by Atlassian JIRA > > > > (v6.3.4#6332) > > > > > > > > > >
