Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ZEPPELIN-925 Merge HiveInterpreter into JDBCInterpreter #943

Closed
wants to merge 9 commits into from

Conversation

jongyoul
Copy link
Member

@jongyoul jongyoul commented Jun 1, 2016

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
Member Author

jongyoul commented Jun 1, 2016

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

@jongyoul
Copy link
Member Author

jongyoul commented Jun 1, 2016

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
Member Author

jongyoul commented Jun 1, 2016

re-trigger

@jongyoul jongyoul closed this Jun 1, 2016
@jongyoul jongyoul reopened this Jun 1, 2016
@bzz
Copy link
Member

bzz commented Jun 1, 2016

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
Member Author

jongyoul commented Jun 1, 2016

@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
Member Author

jongyoul commented Jun 1, 2016

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

@minahlee
Copy link
Member

minahlee commented Jun 1, 2016

@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
Member Author

jongyoul commented Jun 2, 2016

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

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
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?

Copy link
Member Author

@jongyoul jongyoul Jun 2, 2016

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
Copy link
Member Author

jongyoul commented Jun 2, 2016

@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?

</tr>
</table>
### Dependencies
<table>
Copy link
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
Member Author

jongyoul commented Jun 2, 2016

re-trigger

@jongyoul jongyoul closed this Jun 2, 2016
@jongyoul jongyoul 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
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
Member Author

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
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
Member Author

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 jongyoul force-pushed the ZEPPELIN-925 branch 2 times, most recently from 49c2152 to b8821f9 Compare June 7, 2016 06:39
@jongyoul
Copy link
Member Author

jongyoul commented Jun 7, 2016

Update documentation and rebase it from current master

@jongyoul jongyoul closed this Jun 7, 2016
@jongyoul jongyoul reopened this Jun 7, 2016
@jongyoul
Copy link
Member Author

jongyoul commented Jun 8, 2016

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

@vgmartinez
Copy link
Contributor

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
Member Author

jongyoul commented Jun 8, 2016

@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
Contributor

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

@AhyoungRyu
Copy link
Contributor

@jongyoul Yeah looks good :)

@jongyoul
Copy link
Member Author

jongyoul commented Jun 8, 2016

Merging there's no more discussion

Sign up for free to 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