Hi,
We have an application that creates tables with our own storage handler.
It works if I set the env variable HIVE_AUX_JARS_PATH pointing to the dir
containing the jar of my storage handler class. This env var needs to be set
before starting HiveServer2. The alternative is to change the hive-site.xml and
add the following section:
<property>
<name>hive.aux.jars.path</name>
<value>file:///path/to/my/storagehandler.jar,file:///path/to/other.jar</value<file:///\\path\to\my\storagehandler.jar,file:\path\to\other.jar%3c\value>>
</property>
Another alternative is to start the HS2 as:
/usr/bin/hiveserver2 --hiveconf
hive.aux.jars.path=file:///path/to/my/storagehandler.jar,file:///path/to/other.jar
However, all these ways mean starting the HiveServer2 in a manner that involves
sysadmin intervention.
I tried to set the set the configuration property using the "set
hive.aux.jars.path=
file:///path/to/my/storagehandler.jar,file:///path/to/other.jar<file:///\\path\to\my\storagehandler.jar,file:\path\to\other.jar>"
command after the JDBC session with HS2 was setup. But it did not have any
effect. I am getting the class not found error for the storage handler class
from HS2 itself which means the error is during query compilation.
I also tried the "add jar ..." command but to no avail.
Can someone explain what is the role of the property hive.aux.jars.path when
set in a session? Also, the role of add jar?
Do these take effect only for the map reduce tasks launched only? If so, whats
the setting for HiveServer2 process itself which needs to load the storage
handler class during query compilation.
-Kiran