更新时间:2025-08-25 GMT+08:00

注册Scalar UDF概览

注册Scalar UDF的含义是在后端数据库包含指定的UDF,并在注册后返回在ibis DataFrame中可以操作的UDF算子。

注册Scalar UDF返回的值是DataFrame中的一个UDF算子。后续这个UDF算子可以被多个DataFrame表达式多次调用。

注册Scalar UDF总体上来说分为两种方式:显式注册和隐式注册。

表1 注册Scalar UDF方式

注册方式

含义

是否依赖会话对象

是否侵入式添加注册逻辑

适用场景

参考

显式注册

代码中明确指定Scalar UDF的注册信息

如果用户希望明确控制注册时间,允许侵入式添加注册逻辑,或对同一个Backend连接下的Scalar UDF注册和使用分离有要求。

Scalar UDF显式注册语法

隐式注册

运行时自动发现并注册Scalar UDF

如果用户希望无侵入式地注册Scalar UDF,且对同一个Backend连接下的Scalar UDF注册和使用分离无要求。

Scalar UDF隐式注册语法

不管是显式注册还是隐式注册,对于不同的Scalar UDF类型,注册的含义有所不同,详情参见下表:

表2 注册Scalar UDF含义

Scalar UDF类型

含义

参考

python

将一个原始的Python函数注册进数据库中。

Scalar Python UDF注册参数

builtin

获得数据库已存在的函数的句柄,无实际注册的操作。

Scalar Builtin UDF注册参数