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




Reply via email to