DROP FUNCTION
説明
DROP FUNCTION
ステートメントは、一時的またはユーザー定義関数(UDF)を削除します。その関数が存在しない場合は、例外がスローされます。
構文
DROP [ TEMPORARY ] FUNCTION [ IF EXISTS ] function_name
パラメーター
-
function_name
既存関数の名前を指定します。関数の名前は、必要に応じてデータベース名で修飾できます。
構文:
[ database_name. ] function_name
-
TEMPORARY
TEMPORARY
関数削除に使用します。 -
IF EXISTS
指定すると、関数が存在しない場合に例外はスローされません。
例
-- 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;