DESCRIBE FUNCTION
適用対象: Databricks SQL Databricks Runtime
既存の関数の基本的なメタデータ情報を返します。 メタデータ情報には、関数名、実装クラス、および使用状況の詳細が含まれます。 省略可能な EXTENDED
オプションを指定した場合、基本的なメタデータ情報と拡張された使用状況情報が返されます。
構文
{ DESC | DESCRIBE } FUNCTION [ EXTENDED ] function_name
パラメーター
-
メタストア内の既存の関数の名前。 関数名は、必要に応じてスキーマ名で修飾できます。
function_name
がスキーマで修飾されている場合、関数は、ユーザーが指定したスキーマから解決されます。それ以外の場合は、現在のスキーマから解決されます。
例
-- 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)