You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zeppelin.apache.org by Leemoonsoo <gi...@git.apache.org> on 2016/07/07 21:20:13 UTC

[GitHub] zeppelin issue #1145: [ZEPPELIN-1012] Support Interpreter Aliases

Github user Leemoonsoo commented on the issue:

    https://github.com/apache/zeppelin/pull/1145
  
    I have tested this branch and i've got some feedbacks
    
    **Interpreter-setting name and alias**
    I see interpreter-setting has alias field. And how about just use interpreter-setting name as an alias, for simplicity? instead of having both name and alias field.
    
    **Interpreter selection mechanism.**
    This PR changes current interpreter selection mechanism a lot.
    For example, if i bind interpreter `%md, %spark (spark, sql), %shell ...` and try to use 
    `%sql  select * from table`, then i get `prefix not found`. 
    
    I strongly recommend keep compatibility of previous interpreter selection mechanism, because it changes major user experience of Zeppelin.
    
    My suggestion is, 
      1. select interpreter in previous way first. i.e. matching [group].[name] with interpreter selection text.
      2. if there is no matching interpreter, start matching [alias].[name] with interpreter selection text.
    
    while [matching rule](https://github.com/apache/zeppelin/blob/master/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java#L1004) is
      1. if interpreter selection text specify full [group].[name] or [alias].[name], then simply find corresponding interpreter-setting and interpreter.
      2. if interpreter selection text specify just name, first assume [group] or [alias] is omitted.
      3. then assume [name] is omitted.
    
    
    **Import and change interpreter binding**
    
    It can be a future work, but i'd like to at least have an direction how we want to handle user experience change expected this PR brings.
    
    Before
    ```
    - While Zeppelin instance have the same set of interpreters, imported notebook may run without modification
    - It was possible to quickly change interpreter binding without changing every paragraph. i.e. Bind 'spark-small-cluster' interpreter setting first and then bind 'spark-large-cluster' later without changing interpreter selection text of individual paragraphs
    ```
    
    After
    ```
    - If paragraph uses alias for interpreter selection, imported notebook will not able to run unless manually change interpreter selection text for the Zeppelin instance.
    - Once user want to run the same notebook with different interpreter-setting, user need to change interpreter selection text of all paragraphs
    ```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---