I'm executing a custom Hive UDF, which internally loads a native library 'mynative.so'.
so the custom UDF is working fine with Hive but not with HiveLLAP, getting an exception "no mynative in java.library.path".
Following are the hive properties set on Ambari: -
custhive.jar: - Is a custom jar consist of custom Hive UDF's.
jlib.jar: - It has been called by a custom hive UDF's, it furthers load mynative.so file.
/opt/rack/18.104.22.168/jlib/lib/: - This directory path contains java jar & mynative.so library.
/opt/rack/22.214.171.124/custhive/lib/: - This directory path contains custhive.jar.
Flow of loading a native library:-
#Add custhive.jar to HIVE_CLASSPATH
@Ali Bajwa: Seeking your inputs!
I don't think classpath modification for LLAP to add local paths is currently supported, although I can see how it could be a useful feature.
Is it possible in your case to package the native library as part of the package, adding it to the aux jars? Aux jars don't actually have to be jars, they can be any files - the name is a legacy name.