You need to enable JavaScript to run this app.
导航
UDF 管理
最近更新时间:2023.09.01 17:46:32首次发布时间:2022.02.24 10:16:17

用户可以在界面进行 UDF 的:管理、查看、创建、删除 等基本功能。

1. 管理 UDF

UDF 具体包含 UDF 名称、类名称、创建人、创建时间、UDF 类型(流式/离线)。
目前版本支持的 UDF 主要为离线 UDF,可以供 SparkSQL 和 Presto 所使用(即在 LAS 的 SQL 作业中被使用)。


2. 创建 UDF

LAS 支持 UI 创建及 DDL 创建 UDF:

  • UI 创建:即在 LAS 控制台创建 UDF,点击新建 UDF 后,会弹出 UDF 创建页面。

  • DDL 创建:LAS 使用先进的远程 UDF 功能来管理 UDF 并且充分利用用户上传的资源页面来统一管理。因此用户也可以使用查询来创建 UDF。示例如下(注意,DDL 创建 UDF 仅适用于离线 UDF)
CREATE FUNCTION <schemaName>.<functionName> AS '<funcClassName>' using jar '<SchemaName>.<ResourceName>';

你只需要指定用户的 Schema 名称,创建的 UDF 名称,引用 Jar 包的类名称,以及 Jar 包的资源名称即可。其中资源 Jar 包的上传可以通过下面的资源管理功能,可直接通过 UI 界面上传。 关于如何编写 Jar,请参考 UDF 章节
当用户触发 UDF 创建后,UDF 创建通常需要 1 分钟左右的时间,以应用 UDF 优化。当 UDF 创建完成后,会出现 在UDF 管理列表。

3. 编辑 UDF

用户可以在 UDF 管理列表界面,找到当前创建的 UDF。点击右侧的编辑按钮,用户可以对当前的 UDF 进行编辑。主要允许的编辑内容为类名,如用户想使用同一个 Jar 包里面的另外一个类,用户可以直接在编辑页面,选中 UDF 进行替换。
可编辑的内容,仅限于类名、输入参数、输出参数和使用示例。


4. 删除 UDF

当具备 UDF 的 Admin 权限,或者具备删除 UDF 的权限时,UDF 的删除按钮将可见,可以在页面上删除用户创建的 UDF。 当用户删除 UDF 时,UDF 所依赖的资源 Jar 包仍然将会保留。

5. 常见问题 FAQ

Q:删除 UDF 时,UDF 所引用的资源会被删除吗?
只删除 UDF 并不会删除 UDF 引用的资源,用户可以通过资源重新创建新的 UDF。

Q:执行 Create Function SQL 失败,一般会是什么原因?
首先检查函数名是否满足 Schema.FunctionName 规范,其次函数名忽略大小写,需要提前检查是否已存在同名函数。

Q:同一个 Resource,可以创建多个 UDF 吗?
可以。

Q:删除 Schema、资源后,UDF 会被删除吗?
Schema、资源删除后,对应 UDF 包括对应的 FaaS 资源不会被清理,但通过 LAS 控制台提交的 SQL 包含该 UDF 时,会运行失败,需要重新在该 Schema 下上传相同资源解决报错。通过 BI 工具走 Presto JDBC 直连时不会有这个问题。