HIVE-25101: Remove HBase libraries from Hive distribution #2259
Conversation
|
Here's what gets changed/removed from the distribution with the patch. Apart from the obvious HBase libraries, there are some HBase dependencies. |
|
This is the difference between the llap yarn archive contents with and and without the patch: Removed: Added: |
|
I have noticed one more thing while testing this change. Now a lot of other settings, like having and auxjars directory, or setting the HIVE_AUX_JARS_PATH will do the same, I'm not sure how much of a problem this is, but I wanted to give a heads-up. I could explore reverting to using the HADOOP_CLASSPATH instead, though I have doubts if that actually works for the distributed operations. |
… (Istvan Toth reviewed by Zoltan Haindrich)
What changes were proposed in this pull request?
Why are the changes needed?
Hive currently includes the HBase libraries in its distribution package, and also adds the HBase libraries separately
vi the 'hbase mapredcp' command in the startup script.
There are multiple problems with this:
Does this PR introduce any user-facing change?
With this change, if the HBASE_HOME environment variable is not set, then the HBase libraries will not
be available in Hive. This is change from the current behaviour.
We are also removing some special case code that added the unshaded hbase libraries to the llap tar.gz, and use
hive.aux.jars.path instead.
Also, with this change there is no need to manually replace the HBase libraries in the Hive distribution.
How was this patch tested?
I have built a local pseudodistributed cluster, and manually tested that the hbase handler works with these changes.
I successfully tested with both the mr and tez engines.
I did not get llap fully working, but I tested that the generated Yarn service tar.gz includes the shaded hbase libraries and the hbase storage dirver.
AFAIK Hive does not have end-to-end tests that can test the generated package and start-up scripts.
The text was updated successfully, but these errors were encountered: