| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
| <concept rev="1.2" id="drop_function"> |
| |
| <title>DROP FUNCTION Statement</title> |
| <titlealts audience="PDF"><navtitle>DROP FUNCTION</navtitle></titlealts> |
| <prolog> |
| <metadata> |
| <data name="Category" value="Impala"/> |
| <data name="Category" value="SQL"/> |
| <data name="Category" value="DDL"/> |
| <data name="Category" value="Impala Functions"/> |
| <data name="Category" value="UDFs"/> |
| <data name="Category" value="Schemas"/> |
| <data name="Category" value="Developers"/> |
| <data name="Category" value="Data Analysts"/> |
| </metadata> |
| </prolog> |
| |
| <conbody> |
| |
| <p> |
| <indexterm audience="hidden">DROP FUNCTION statement</indexterm> |
| Removes a user-defined function (UDF), so that it is not available for execution during Impala |
| <codeph>SELECT</codeph> or <codeph>INSERT</codeph> operations. |
| </p> |
| |
| <p conref="../shared/impala_common.xml#common/syntax_blurb"/> |
| |
| <p> |
| To drop C++ UDFs and UDAs: |
| </p> |
| |
| <codeblock>DROP [AGGREGATE] FUNCTION [IF EXISTS] [<varname>db_name</varname>.]<varname>function_name</varname>(<varname>type</varname>[, <varname>type</varname>...])</codeblock> |
| |
| <note rev="2.5.0 IMPALA-2843"> |
| <p rev="2.5.0 IMPALA-2843"> |
| The preceding syntax, which includes the function signature, also applies to Java UDFs that were created |
| using the corresponding <codeph>CREATE FUNCTION</codeph> syntax that includes the argument and return types. |
| After upgrading to <keyword keyref="impala25_full"/> or higher, consider re-creating all Java UDFs with the |
| <codeph>CREATE FUNCTION</codeph> syntax that does not include the function signature. Java UDFs created this |
| way are now persisted in the metastore database and do not need to be re-created after an Impala restart. |
| </p> |
| </note> |
| |
| <p rev="2.5.0 IMPALA-2843"> |
| To drop Java UDFs (created using the <codeph>CREATE FUNCTION</codeph> syntax with no function signature): |
| </p> |
| |
| <codeblock rev="2.5.0">DROP FUNCTION [IF EXISTS] [<varname>db_name</varname>.]<varname>function_name</varname></codeblock> |
| |
| <!-- |
| Examples: |
| CREATE FUNCTION IF NOT EXISTS foo location '/path/to/jar' SYMBOL='TestUdf'; |
| CREATE FUNCTION bar location '/path/to/jar' SYMBOL='TestUdf2'; |
| DROP FUNCTION foo; |
| DROP FUNCTION IF EXISTS bar; |
| --> |
| |
| <p conref="../shared/impala_common.xml#common/ddl_blurb"/> |
| |
| <p conref="../shared/impala_common.xml#common/usage_notes_blurb"/> |
| |
| <p> |
| Because the same function name could be overloaded with different argument signatures, you specify the |
| argument types to identify the exact function to drop. |
| </p> |
| |
| <p conref="../shared/impala_common.xml#common/restrictions_blurb"/> |
| |
| <p conref="../shared/impala_common.xml#common/udf_persistence_restriction"/> |
| |
| <p conref="../shared/impala_common.xml#common/cancel_blurb_no"/> |
| |
| <p conref="../shared/impala_common.xml#common/permissions_blurb"/> |
| <p rev=""> |
| The user ID that the <cmdname>impalad</cmdname> daemon runs under, |
| typically the <codeph>impala</codeph> user, does not need any |
| particular HDFS permissions to perform this statement. |
| All read and write operations are on the metastore database, |
| not HDFS files and directories. |
| </p> |
| |
| <p conref="../shared/impala_common.xml#common/example_blurb"/> |
| <p rev="2.5.0 IMPALA-2843"> |
| The following example shows how to drop Java functions created with the signatureless |
| <codeph>CREATE FUNCTION</codeph> syntax in <keyword keyref="impala25_full"/> and higher. |
| Issuing <codeph>DROP FUNCTION <varname>function_name</varname></codeph> removes all the |
| overloaded functions under that name. |
| (See <xref href="impala_create_function.xml#create_function"/> for a longer example |
| showing how to set up such functions in the first place.) |
| </p> |
| <codeblock rev="2.5.0 IMPALA-2843"> |
| create function my_func location '/user/impala/udfs/udf-examples.jar' |
| symbol='org.apache.impala.TestUdf'; |
| |
| show functions; |
| +-------------+---------------------------------------+-------------+---------------+ |
| | return type | signature | binary type | is persistent | |
| +-------------+---------------------------------------+-------------+---------------+ |
| | BIGINT | my_func(BIGINT) | JAVA | true | |
| | BOOLEAN | my_func(BOOLEAN) | JAVA | true | |
| | BOOLEAN | my_func(BOOLEAN, BOOLEAN) | JAVA | true | |
| ... |
| | BIGINT | testudf(BIGINT) | JAVA | true | |
| | BOOLEAN | testudf(BOOLEAN) | JAVA | true | |
| | BOOLEAN | testudf(BOOLEAN, BOOLEAN) | JAVA | true | |
| ... |
| |
| drop function my_func; |
| show functions; |
| +-------------+---------------------------------------+-------------+---------------+ |
| | return type | signature | binary type | is persistent | |
| +-------------+---------------------------------------+-------------+---------------+ |
| | BIGINT | testudf(BIGINT) | JAVA | true | |
| | BOOLEAN | testudf(BOOLEAN) | JAVA | true | |
| | BOOLEAN | testudf(BOOLEAN, BOOLEAN) | JAVA | true | |
| ... |
| </codeblock> |
| |
| <p conref="../shared/impala_common.xml#common/related_info"/> |
| |
| <p> |
| <xref href="impala_udf.xml#udfs"/>, <xref href="impala_create_function.xml#create_function"/> |
| </p> |
| </conbody> |
| </concept> |