DESCRIBE FUNCTION
Applies to: Databricks SQL Databricks Runtime
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
{ DESC | DESCRIBE } FUNCTION [ EXTENDED ] function_name
Parameters
-
The name of an existing function in the metastore. The function name may be optionally qualified with a schema name. If
function_name
is qualified with a schema then the function is resolved from the user specified schema, otherwise it is resolved from the current schema.
Examples
-- Describe a builtin scalar function.
-- Returns function name, implementing class and usage
> DESCRIBE FUNCTION abs;
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.
> DESCRIBE FUNCTION EXTENDED abs;
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
> DESCRIBE FUNCTION max;
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.
> DESCRIBE FUNCTION EXTENDED explode;
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, use
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
-- Describe a user defined scalar function
> CREATE FUNCTION dice(n INT) RETURNS INT
NOT DETERMINISTIC
COMMENT 'An n-sided dice'
RETURN floor((rand() * n) + 1);
> DESCRIBE FUNCTION EXTENDED dice;
Function: default.dice
Type: SCALAR
Input: n INT
Returns: INT
Comment: An n-sided dice
Deterministic: false
Owner: user
Create Time: Fri Apr 16 10:00:00 PDT 2021
Body: floor((rand() * n) + 1)