DESCRIBE FUNCTION

적용 대상:검사 예 Databricks SQL 검사 예 Databricks Runtime으로 표시됨

기존 함수의 기본 메타데이터 정보를 반환합니다. 메타데이터 정보에는 함수 이름, 구현 클래스 및 사용 세부 정보가 포함됩니다. 선택적 EXTENDED 옵션을 지정하면 기본 메타데이터 정보가 확장된 사용량 정보와 함께 반환됩니다.

구문

{ DESC | DESCRIBE } FUNCTION [ EXTENDED ] function_name

매개 변수

  • 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)