DROP FUNCTION

Een tijdelijke of door de gebruiker gedefinieerde functie (UDF) wordt uitvalt. Er wordt een uitzondering gemaakt als de functie niet bestaat.

Syntaxis

DROP [ TEMPORARY ] FUNCTION [ IF EXISTS ] function_name

Parameters

  • function_name

    De naam van een bestaande functie. De functienaam kan eventueel worden gekwalificeerd met een databasenaam.

    Syntaxis:[database_name.] function_name

  • TIJDELIJKE

    Moet worden gebruikt om de functie te TEMPORARY verwijderen.

  • INDIEN BESTAAT

    Als deze is opgegeven, wordt er geen uitzondering gemaakt wanneer de functie niet bestaat.

Voorbeelden

-- Create a permanent function `test_avg`
CREATE FUNCTION test_avg AS 'org.apache.hadoop.hive.ql.udf.generic.GenericUDAFAverage';

-- List user functions
SHOW USER FUNCTIONS;
+----------------+
|        function|
+----------------+
|default.test_avg|
+----------------+

-- Create Temporary function `test_avg`
CREATE TEMPORARY FUNCTION test_avg AS
    'org.apache.hadoop.hive.ql.udf.generic.GenericUDAFAverage';

-- List user functions
SHOW USER FUNCTIONS;
+----------------+
|        function|
+----------------+
|default.test_avg|
|        test_avg|
+----------------+

-- Drop Permanent function
DROP FUNCTION test_avg;

-- Try to drop Permanent function which is not present
DROP FUNCTION test_avg;
Error: Error running query:
org.apache.spark.sql.catalyst.analysis.NoSuchPermanentFunctionException:
Function 'default.test_avg' not found in database 'default'; (state=,code=0)

-- List the functions after dropping, it should list only temporary function
SHOW USER FUNCTIONS;
+--------+
|function|
+--------+
|test_avg|
+--------+

-- Drop Temporary function
DROP TEMPORARY FUNCTION IF EXISTS test_avg;