DESCRIBE FUNCTIONDESCRIBE FUNCTION

返回现有函数的基本元数据信息。Returns the basic metadata information of an existing function. 元数据信息包括函数名称、实现类和使用情况详细信息。The metadata information includes the function name, implementing class and the usage details. 如果指定了可选 EXTENDED 选项,则会随扩展使用情况信息一起返回基本的元数据信息。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

  • function_namefunction_name

    系统中现有函数的名称。The name of an existing function in the system. 可以选择使用数据库名称来限定函数名称。The function name may be optionally qualified with a database name. 如果 function_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.

    语法:[database_name.] function_nameSyntax: [database_name.] function_name

示例Examples

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