.DROP FUNCTION

Supprime une fonction temporaire ou une fonction définie par l’utilisateur (UDF). Une exception est levée si la fonction n’existe pas.

Syntaxe

DROP [ TEMPORARY ] FUNCTION [ IF EXISTS ] function_name

Paramètres

  • function_name

    Nom d’une fonction existante. Le nom de la fonction peut éventuellement être qualifié avec un nom de base de données.

    Syntaxe :[database_name.] function_name

  • TEMPORARY

    Doit être utilisé pour supprimer la TEMPORARY fonction.

  • IF EXISTS

    S’il est spécifié, aucune exception n’est levée lorsque la fonction n’existe pas.

Exemples

-- 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;