跳到主要内容

用户自定义函数

Databend 中的用户自定义函数(User-Defined Function,UDF)允许您根据特定的数据处理需求创建自定义操作。本页面将帮助您为具体用例选择合适的函数类型。

函数类型对比

特性标量 SQL(Scalar SQL)表格 SQL(Tabular SQL)嵌入式(Embedded)
返回类型单个值表/结果集单个值
语言SQL 表达式SQL 查询Python/JavaScript/WASM
性能⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
需要企业版Python:是
包支持Python:是
最佳适用场景数学计算
字符串操作
数据格式化
复杂查询
多行结果
数据转换
高级算法
外部库
控制流逻辑

函数管理命令

命令描述
CREATE SCALAR FUNCTION使用统一语法创建标量 SQL 函数
CREATE TABLE FUNCTION创建返回结果集的表格函数
CREATE EMBEDDED FUNCTION创建嵌入式函数(Python/JavaScript/WASM)
SHOW USER FUNCTIONS列出所有用户自定义函数
ALTER FUNCTION修改现有函数
DROP FUNCTION移除函数

统一语法

所有本地 UDF 类型都使用一致的 $$ 语法:

-- 标量函数
CREATE FUNCTION func_name(param TYPE) RETURNS TYPE AS $$ expression $$;

-- 表格函数
CREATE FUNCTION func_name(param TYPE) RETURNS TABLE(...) AS $$ query $$;

-- 嵌入式函数
CREATE FUNCTION func_name(param TYPE) RETURNS TYPE LANGUAGE python
HANDLER = 'handler' AS $$ code $$;
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册