当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyflink TableEnvironment.create_temporary_system_function用法及代码示例


本文简要介绍 python 语言中pyflink.table.TableEnvironment.create_temporary_system_function的用法。

用法:

create_temporary_system_function(name: str, function: Union[pyflink.table.udf.UserDefinedFunctionWrapper, pyflink.table.udf.AggregateFunction])

将 python 用户定义函数类注册为临时系统函数。

与 .. seealso::create_temporary_function() 相比,系统函数由独立于当前目录和当前数据库的全局名称来标识。因此,该方法允许扩展内置系统函数集,如 TRIM、ABS 等。

临时函数可以影响永久函数。如果给定名称下的永久函数存在,则在当前会话中将无法访问。要使永久函数再次可用,可以删除相应的临时系统函数。

例子:

>>> table_env.create_temporary_system_function(
...     "add_one", udf(lambda i: i + 1, result_type=DataTypes.BIGINT()))

>>> @udf(result_type=DataTypes.BIGINT())
... def add(i, j):
...     return i + j
>>> table_env.create_temporary_system_function("add", add)

>>> class SubtractOne(ScalarFunction):
...     def eval(self, i):
...         return i - 1
>>> table_env.create_temporary_system_function(
...     "subtract_one", udf(SubtractOne(), result_type=DataTypes.BIGINT()))

参数:

  • name- 全局注册函数的名称。

  • function- 包含实现的函数类。该函数必须有一个公共的无参数构造函数,并且可以在当前的 Java 类加载器中创建。

版本 1.12.0 中的新函数。

相关用法


注:本文由纯净天空筛选整理自apache.org大神的英文原创作品 pyflink.table.TableEnvironment.create_temporary_system_function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。