Skip to content

ZEPPELIN-440 HiveInterpreter with multiple configuration - #455

Closed
jongyoul wants to merge 16 commits into
apache:masterfrom
jongyoul:ZEPPELIN-440
Closed

ZEPPELIN-440 HiveInterpreter with multiple configuration#455
jongyoul wants to merge 16 commits into
apache:masterfrom
jongyoul:ZEPPELIN-440

Conversation

@jongyoul

Copy link
Copy Markdown
Member

This PR enable HiveInterpreter to configure several connection information. For using specific configurations, you should use some tricks like %hive(configuration_prefix). without it, you can use default settings starting with default.

screen shot 2015-11-21 at 1 51 31 am

screen shot 2015-11-21 at 1 53 59 am

@jongyouljongyoul changed the title ZEPPELIN-440 HiveInterpreter with multiple configuration[WIP]ZEPPELIN-440 HiveInterpreter with multiple configurationNov 20, 2015
@Leemoonsoo

Copy link
Copy Markdown
Member

Like the idea about '('.

@jongyoul

Copy link
Copy Markdown
MemberAuthor

@Leemoonsoo Thanks. If you have any new or more Zeppelinous idea for specifying properties, feel free to talk. I'll make it pass to CI and add docs for this function.

@felixcheung

Copy link
Copy Markdown
Member

It's nice. Would it be possible to make the interpreter group/name fully customizable?
For a generic JDBC interpreter, it would be great if one could set to %hive and another to %presto, or %mysql

@Leemoonsoo

Copy link
Copy Markdown
Member

User can multiple settings (profiles) for an interpreter, in Interpreter menu. For example,

spark-dev
spark-testing

settings can be made for the same %spark interpreter.

Current restriction is, only one interpreter setting can be used in the single notebook, in the same time.
That's because of selecting interpreter in paragraph is %[interpreter name], not %[setting name].

If we use %[setting name] for selecting interpreter,

Pros:

  • Allow multiple settings derived from single interpreter in a notebook.
  • User can set their favorite name for %[setting name] and use it in the paragraph

Cons:

  • When notebook file is shared to other people, it's hard to run while %[setting name] is customized and all Zeppelin instance will have all different setting name.

I think, in the future, we need to invent some way to allow all 'settings' being used in the same notebook at the same time, without having Cons that i mentioned above.

Until that time, I think this approach could be useful.

@felixcheung

Copy link
Copy Markdown
Member

Good point - maybe we should save settings with notebook to make it portable?

@jongyoul

Copy link
Copy Markdown
MemberAuthor

@felixcheung First time, I also try to run interpreter by %{setting name}, but ... If it's possible to make notebook portable with settings, %{setting name} would be better.

@jongyoul

Copy link
Copy Markdown
MemberAuthor

trigger the CI again

@jongyouljongyoul reopened this Nov 23, 2015
@jongyouljongyoul reopened this Nov 23, 2015
@jongyoul

Copy link
Copy Markdown
MemberAuthor

travis fails while downloading dependencies

@jongyoul

Copy link
Copy Markdown
MemberAuthor

screen shot 2015-11-23 at 7 23 01 pm

@jongyouljongyoul reopened this Nov 23, 2015
@jongyoul

Copy link
Copy Markdown
MemberAuthor

@Leemoonsoo Could you please check the travis log? I think this is about ZeppelinSparkClusterTest. Do you have any idea?

@jongyoul

Copy link
Copy Markdown
MemberAuthor

this failure depends on #468

@jongyoul

Copy link
Copy Markdown
MemberAuthor

I revised HiveInterpreter.executeSql from PostgresSqlInterpreter.executeSql. I think that would be more general way to implement

@jongyouljongyoul changed the title [WIP]ZEPPELIN-440 HiveInterpreter with multiple configurationZEPPELIN-440 HiveInterpreter with multiple configurationNov 26, 2015
@jongyoul

Copy link
Copy Markdown
MemberAuthor

@Leemoonsoo@felixcheung Please review this PR, again. I've almost done. Additionally, @Leemoonsoo, after review, can I try to merge this PR into apache master branch by myself? If it's possible, could you please tell me a procedure for it?

@bzz

bzz commented Nov 26, 2015

Copy link
Copy Markdown
Member

@jongyoul merge a PR is very simple, you just:

  • setup git remote, named apache pointing to original apache repo https://git-wip-us.apache.org/repos/asf/incubator-zeppelin.git
  • run ./dev/merge_zeppelin_pr.py
  • (bonus): if you have envs JIRA_USERNAME and JIRA_PASSWORD setup - this script will take care of resolving the JIRA issue automatically

@Leemoonsoo

Copy link
Copy Markdown
Member

About merging, you can use dev/merge_zeppelin_pr.py script.

I suggest clone zeppelin git repo into separate dir (separate from development) and then you'll need to add remote repo 'apache' and 'apache-github' to use this script.

apache https://git-wip-us.apache.org/repos/asf/incubator-zeppelin (push)
apache https://git-wip-us.apache.org/repos/asf/incubator-zeppelin (fetch)
apache-github https://github.com/apache/incubator-zeppelin.git (fetch)
apache-github https://github.com/apache/incubator-zeppelin.git (push)

Once it's done, just run dev/merge_zeppelin_pr.py will guide you merge the pull request.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you think, does horizontal alignment makes it more readable or just makes it longer?

According to the styleguide Zeppelin project uses - it is never required and has some cons https://google.github.io/styleguide/javaguide.html#s4.6.3-horizontal-alignment

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basically, I think it doesn't need except when that one line violates the maximum number of columns. I'll fix this, too.

@bzz

bzz commented Nov 26, 2015

Copy link
Copy Markdown
Member

👍 for test and docs!

@jongyoul

Copy link
Copy Markdown
MemberAuthor

@bzz Could you please verify this finally?

Comment threaddocs/interpreter/hive.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo: Zeppelin

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

parameterization

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also use this relative path for the link (url has changed for multiple releases)
../manual/dynamicform.html

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or {{BASE_PATH}}/manual/dynamicform.html would work

Comment threaddocs/interpreter/hive.md Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo: wih -> with

@Leemoonsoo

Copy link
Copy Markdown
Member

- Enable multiple connection properties
- Remove commented codes
- Fixed license part
- Fixed getScriptBody return after trimming
- Restored some tests from the beginning
- Restored ParallelScheduler from FIFOScheduler
- Revised executeSql from Postgresql.executeSql
- Fixed Apaceh license header
- Fixed some codestyle
- Removed unused codes and classes
@jongyoul

Copy link
Copy Markdown
MemberAuthor

@Leemoonsoo I've rebased and fixed it

@jongyoul

Copy link
Copy Markdown
MemberAuthor

Merging if there is no more discussion.

@asfgitasfgit closed this in 7905939Dec 4, 2015
@jongyouljongyoul mentioned this pull request Dec 15, 2015
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@jongyoul@Leemoonsoo@felixcheung@bzz