Created 04-12-2017 10:17 AM
What is the expected/intended behavior with Hive LLAP when using UDF's like ESRI Geo-spatial queries? In the Hive wiki there is mentioned that only 'blessed' UDF's are accepted in LLAP execution.
Created 04-12-2017 12:19 PM
LLAP localizes all permanent functions when you restart it - temporary functions aren't allowed into LLAP, since that has potential for conflicting between users.
So expect "add jar" to be a problem, but "create function ... " with an HDFS location to handle something like the ESRI udfs (I recommend creating an esri DB and naming all udfs as esri.ST_Contains etc).
The LLAP decider module should throw an error if you try to use a temporary UDF (when llap.execution.mode is "only", the default).
LLAP can run some of those queries in mixed mode (i.e all mappers run as Tez tasks, all reducers run in LLAP etc), but it's not the best way to use LLAP.
Created 04-12-2017 12:19 PM
LLAP localizes all permanent functions when you restart it - temporary functions aren't allowed into LLAP, since that has potential for conflicting between users.
So expect "add jar" to be a problem, but "create function ... " with an HDFS location to handle something like the ESRI udfs (I recommend creating an esri DB and naming all udfs as esri.ST_Contains etc).
The LLAP decider module should throw an error if you try to use a temporary UDF (when llap.execution.mode is "only", the default).
LLAP can run some of those queries in mixed mode (i.e all mappers run as Tez tasks, all reducers run in LLAP etc), but it's not the best way to use LLAP.
Created 04-12-2017 06:24 PM
Excellent info @gopal, thx!
Created 10-25-2017 09:29 AM
Can someone help me understand what is a "blessed" UDF ?
Created on 02-22-2019 09:58 PM - edited 08-17-2019 11:22 PM
So I was scratching my head a lot too on finding out what "blessed" UDF is supposed to mean. Luckily I was able to make UDFs work on LLAP.
Some findings:
Below are the steps I did to make it work on LLAP:
1. Write drop & create functions using JDBC and execute the same using Hive LLAP jdbc connection
2. Restart HiveServer2 Interactive and HiveServer2 on Ambari as shown:
3. After successful restart, connect to Hive shell and do a 'show functions;'. Voila! Your UDFs now appear as you wish.
4. After that, you should already be able to invoke your UDFs in LLAP mode
Above steps worked for me using HDP 3
HTH,
Kenneth