Drop Impala UDF function returned NoSuchObjectException error

Impala UDF works a bit differently than Hive UDF, as they are written in different languages. Recently I have encountered an issue that when I try to drop Impala UDF written in C, it failed with below error:

follow url

http://serc.eng.usm.my/?calicut-university-online-phd-thesis DROP FUNCTION udf_testing.has_vowels; Query: DROP FUNCTION udf_testing.has_vowels ERROR: ImpalaRuntimeException: Error making 'dropFunction' RPC to Hive Metastore: CAUSED BY: NoSuchObjectException: Function has_vowels does not exist

go here The “SHOW CREATE FUNCTION” query worked OK as below:

source link

home page SHOW CREATE FUNCTION has_vowels; Query: SHOW CREATE FUNCTION has_vowels +-----------------------------------------------------------------------------+ | result | +-----------------------------------------------------------------------------+ | CREATE FUNCTION udf_testing.has_vowels(STRING) | | RETURNS BOOLEAN | | LOCATION 'hdfs://nameservice1/user/hive/impala-udf/libudfsample.so' | | SYMBOL='_Z9HasVowelsPN10impala_udf15FunctionContextERKNS_9StringValE' | | | +-----------------------------------------------------------------------------+ Fetched 1 row(s) in 0.03s

After researching, it turned out that when dropping functions in Impala, you will also need to specify the function parameters. So below query will work:


http://appsoutletmax.com/product/lynda-com-narrative-portraiture-on-location-in-texas/ Buy Lynda.com - Narrative Portraiture: On Location in Texas DROP FUNCTION udf_testing.has_vowels(STRING); Query: DROP FUNCTION udf_testing.has_vowels(STRING)

This is not immediately obvious, but it is documented on Cloudera’ offical documentation site: DROP FUNCTION Statement.


go Hope above helps.