Skip to content

ZEPPELIN-925 Merge HiveInterpreter into JDBCInterpreter - #943

Closed
jongyoul wants to merge 9 commits into
apache:masterfrom
jongyoul:ZEPPELIN-925
Closed

ZEPPELIN-925 Merge HiveInterpreter into JDBCInterpreter#943
jongyoul wants to merge 9 commits into
apache:masterfrom
jongyoul:ZEPPELIN-925

Conversation

@jongyoul

@jongyouljongyoul commented Jun 1, 2016

Copy link
Copy Markdown
Member

What is this PR for?

This removes hive module and adds example setting for using Hive in a JdbcInterpreter by using loading dynamic dependencies. It reduces Zeppelin's binary size.

There's no codes' modification except removing hive directory and remove the module from pom.xml

What type of PR is it?

[Feature]

Todos

  • - Remove hive module
  • - Add an example for using Hive in JDBC

What is the Jira issue?

How should this be tested?

Set the interpreter properties and test it

Screenshots (if appropriate)

Questions:

  • Does the licenses files need update? No
  • Is there breaking changes for older versions? No
  • Does this needs documentation? No

@jongyoul

Copy link
Copy Markdown
MemberAuthor

@minahlee Could you please review this PR, especially setting dependencies?

@jongyoul

Copy link
Copy Markdown
MemberAuthor

That failure is irrelevant to this PR.

Results :
Failed tests: ZeppelinSparkClusterTest.pySparkDepLoaderTest:231 expected:<FINISHED> but was:<ERROR>
Tests run: 39, Failures: 1, Errors: 0, Skipped: 0

@jongyoul

Copy link
Copy Markdown
MemberAuthor

re-trigger

@jongyouljongyoul closed this Jun 1, 2016
@jongyouljongyoul reopened this Jun 1, 2016
@bzz

bzz commented Jun 1, 2016

Copy link
Copy Markdown
Member

CI is failing by this test ZeppelinSparkClusterTest.sparkRTest, and I do not think we have seen it failing before.

Tests run: 6, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 168.646 sec <<< FAILURE! - in org.apache.zeppelin.rest.ZeppelinSparkClusterTest
sparkRTest(org.apache.zeppelin.rest.ZeppelinSparkClusterTest) Time elapsed: 11.03 sec <<< FAILURE!
java.lang.AssertionError: expected:<FINISHED> but was:<ERROR>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:743)
at org.junit.Assert.assertEquals(Assert.java:118)
at org.junit.Assert.assertEquals(Assert.java:144)
at org.apache.zeppelin.rest.ZeppelinSparkClusterTest.sparkRTest(ZeppelinSparkClusterTest.java:104)

@jongyoul could you please create a new JIRA issue with label flaky-test for it?

Otherwise, converging interpreters to JDBC looks great to me!

May be we should keep in docs somewhere a notice for Hive users, something like "If you want to use Hive - please use it though JDBC interpreter, configuring it like this ...", how do you think?

So if somebody wants to use Zeppelin with Hive - he should be able to understand from the website\docs that it is indeed supported use-case, and he should be using JDBC (and not a special interpreter \w ThriftClient)

@jongyoul

Copy link
Copy Markdown
MemberAuthor

@bzz What you have seen is different from the first error. Have you ever seen the first one before? I'll make a new issue for second error with flaky-test tag.

And it's good to remain documentation about hive until - may be - 0.7.0 to guide that users use a JDBC interpreter to use hive. I'll update hive.md again.

@jongyoul

Copy link
Copy Markdown
MemberAuthor

@bzz I made a https://issues.apache.org/jira/browse/ZEPPELIN-936

@minahlee

Copy link
Copy Markdown
Member

@jongyoul changes looks good to me. About the documentation I think same as @bzz for the users who were already using hive interpreter. I think it would be good to keep hive.md document and mention that hive interpreter is merged into master and refer the jdbc interpreter doc link.

@jongyoul

Copy link
Copy Markdown
MemberAuthor

@bzz@minahlee Please check it finally. And I email {dev,user}@ to announce this change.

Comment threaddocs/interpreter/hive.md Outdated
ORDER BY count ${order=DESC,DESC|ASC}
LIMIT ${limit=10};
```
Hive Interpreter is merged into JDBC Interpreter. You can see JDBC Interpreter [here](./jdbc.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.

I think it is common to use Zeppelin with hive and the configuration values and example might still be useful in documentation?

@jongyouljongyoulJun 2, 2016

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.

@felixcheung I've also update an example to use hive in JDBC interpreter here Do you think it's better to remain them in this page? I also agree with you. I'll update it.

@jongyoul

jongyoul commented Jun 2, 2016

Copy link
Copy Markdown
MemberAuthor

@felixcheung How about it? And another option is to remain hive.md originally and add message of moving it into JDBC Interpreter on the top of page. Which do you think is better?

Comment threaddocs/interpreter/hive.md Outdated
</tr>
</table>
### Dependencies
<table>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@jongyoul Could you change this line to <table class="table-configuration"> instead of <table> ?

@jongyoul

Copy link
Copy Markdown
MemberAuthor

re-trigger

@jongyouljongyoul closed this Jun 2, 2016
@jongyouljongyoul reopened this Jun 2, 2016
FROM retail_demo.order_lineitems_pxf
GROUP BY ${group_by=product_id,product_id|product_name|customer_id|store_id}
ORDER BY count ${order=DESC,DESC|ASC}
LIMIT ${limit=10};

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.

Does this example stoped working with the JDBC interpreter?
Otherwise it would be nice to keep it too, as that is something valuable to a user.

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.

@bzz JDBC Interpreter covers all of Hive Interpreter features. Then, how about adding a link and messages like that This is deprecated. You'd better use JDBC Interpreter?

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.

since the dynamic form example isn't hive specific, maybe it is ok not to have it. though i agree it's generally nicer to have more documentation ;)

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.

@bzz@felixcheung OK. I'll revert hive.md and add some notification about how to move hive to jdbc. I also think it would be better and less confusion to existing users.

@jongyoul
jongyoulforce-pushed the ZEPPELIN-925 branch 2 times, most recently from 49c2152 to b8821f9CompareJune 7, 2016 06:39
@jongyoul

Copy link
Copy Markdown
MemberAuthor

Update documentation and rebase it from current master

@jongyouljongyoul closed this Jun 7, 2016
@jongyouljongyoul reopened this Jun 7, 2016
@jongyoul

Copy link
Copy Markdown
MemberAuthor

@felixcheung@bzz@minahlee@AhyoungRyu I've reverted hive.md and updated documentation. Please check it finally.

@vgmartinez

Copy link
Copy Markdown

Hi @jongyoul, great job with all integrations in the jdbc interpreter.
What do you think, about putting hive dependence into the pom and so it is not necessary add the jar in the classpath.

@jongyoul

Copy link
Copy Markdown
MemberAuthor

@vgmartinez Now, Zeppelin enable load dependencies dynamically, thus if you set dependencies in your interpreter tab, it works. Thus, we don't have to include any dependencies any more. See an example below:

screen shot 2016-06-08 at 3 00 54 pm

@vgmartinez

Copy link
Copy Markdown

@jongyoul ok ok, all external dependencies loaded them that way. I have been a time out...;)

@AhyoungRyu

Copy link
Copy Markdown
Contributor

@jongyoul Yeah looks good :)

@jongyoul

Copy link
Copy Markdown
MemberAuthor

Merging there's no more discussion

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.

6 participants

@jongyoul@bzz@minahlee@vgmartinez@AhyoungRyu@felixcheung