| --- |
| layout: global |
| title: DESCRIBE FUNCTION |
| displayTitle: DESCRIBE FUNCTION |
| license: | |
| 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. |
| --- |
| |
| ### Description |
| |
| `DESCRIBE FUNCTION` statement returns the basic metadata information of an |
| existing function. The metadata information includes the function name, implementing |
| class and the usage details. If the optional `EXTENDED` option is specified, the basic |
| metadata information is returned along with the extended usage information. |
| |
| ### Syntax |
| |
| ```sql |
| { DESC | DESCRIBE } FUNCTION [ EXTENDED ] function_name |
| ``` |
| |
| ### Parameters |
| |
| * **function_name** |
| |
| Specifies a name of an existing function in the system. The function name may be |
| optionally qualified with a database name. If `function_name` is qualified with |
| a database then the function is resolved from the user specified database, otherwise |
| it is resolved from the current database. |
| |
| **Syntax:** `[ database_name. ] function_name` |
| |
| ### Examples |
| |
| ```sql |
| -- Describe a builtin scalar function. |
| -- Returns function name, implementing class and usage |
| DESC FUNCTION abs; |
| +-------------------------------------------------------------------+ |
| |function_desc | |
| +-------------------------------------------------------------------+ |
| |Function: abs | |
| |Class: org.apache.spark.sql.catalyst.expressions.Abs | |
| |Usage: abs(expr) - Returns the absolute value of the numeric value.| |
| +-------------------------------------------------------------------+ |
| |
| -- Describe a builtin scalar function. |
| -- Returns function name, implementing class and usage and examples. |
| DESC FUNCTION EXTENDED abs; |
| +-------------------------------------------------------------------+ |
| |function_desc | |
| +-------------------------------------------------------------------+ |
| |Function: abs | |
| |Class: org.apache.spark.sql.catalyst.expressions.Abs | |
| |Usage: abs(expr) - Returns the absolute value of the numeric value.| |
| |Extended Usage: | |
| | Examples: | |
| | > SELECT abs(-1); | |
| | 1 | |
| | | |
| +-------------------------------------------------------------------+ |
| |
| -- Describe a builtin aggregate function |
| DESC FUNCTION max; |
| +--------------------------------------------------------------+ |
| |function_desc | |
| +--------------------------------------------------------------+ |
| |Function: max | |
| |Class: org.apache.spark.sql.catalyst.expressions.aggregate.Max| |
| |Usage: max(expr) - Returns the maximum value of `expr`. | |
| +--------------------------------------------------------------+ |
| |
| -- Describe a builtin user defined aggregate function |
| -- Returns function name, implementing class and usage and examples. |
| DESC FUNCTION EXTENDED explode |
| +---------------------------------------------------------------+ |
| |function_desc | |
| +---------------------------------------------------------------+ |
| |Function: explode | |
| |Class: org.apache.spark.sql.catalyst.expressions.Explode | |
| |Usage: explode(expr) - Separates the elements of array `expr` | |
| | into multiple rows, or the elements of map `expr` into | |
| | multiple rows and columns. Unless specified otherwise, uses | |
| | the default column name `col` for elements of the array or | |
| | `key` and `value` for the elements of the map. | |
| |Extended Usage: | |
| | Examples: | |
| | > SELECT explode(array(10, 20)); | |
| | 10 | |
| | 20 | |
| +---------------------------------------------------------------+ |
| ``` |
| |
| ### Related Statements |
| |
| * [DESCRIBE DATABASE](sql-ref-syntax-aux-describe-database.html) |
| * [DESCRIBE TABLE](sql-ref-syntax-aux-describe-table.html) |
| * [DESCRIBE QUERY](sql-ref-syntax-aux-describe-query.html) |