更新时间:2022-12-14 GMT+08:00

使用Flink WebUI管理UDF

用户可以自定义一些函数,用于扩展SQL以满足个性化的需求,这类函数称为UDF。用户可以在Flink WebUI界面中上传并管理UDF jar包,然后在运行作业时调用相关UDF函数。

Flink支持以下3类自定义函数,如表1

表1 函数分类

分类

描述

UDF(User Defined Scalar Function)

自定义函数,支持一个或多个输入参数,返回一个结果值。详情请参考UDF java代码及SQL样例

UDAF(User Defined Aggregation Function)

自定义聚合函数,将多条记录聚合成一个值。详情请参考UDAF java代码及SQL样例

UDTF(User Defined Table-valued Function)

自定义表值函数,支持一个或多个输入参数,可返回多行多列。详情请参考UDTF java代码及SQL样例

前提条件

准备UDF jar文件,大小不能超过200MB。

上传UDF

  1. 访问Flink WebUI,请参考访问Flink WebUI
  2. 单击“UDF管理”进入UDF管理页面。
  3. 单击“添加UDF”,在“本地Jar文件”参数后选择并上传本地已准备好的UDF jar文件。
  4. 填写UDF名称以及描述信息后,单击“确定”。

    “UDF名称”最多可添加10项,“名称”可自定义,“类名”需与上传的UDF jar文件中UDF函数一一对应。

  5. 在UDF列表中,可查看当前应用内所有的UDF信息。
  6. (可选)如果需要立即运行或开发作业,可在“作业管理”进行相关作业配置。

    单击“作业管理”进入作业管理页面。
    • 启动UDF作业:在UDF列表的“操作”列,单击“启动”。
    • 开发UDF作业:在UDF列表的“操作”列,单击“开发”,相关参数设置可参考•新建Flink SQL作业
    • 停止UDF作业:在UDF列表的“操作”列,单击“停止”。
    • 删除UDF作业:在UDF列表的“操作”列,单击“删除”,仅可删除作业状态为“停止”的作业。
    • 编辑UDF作业:在UDF列表的“操作”列,单击“编辑”,仅可修改作业“描述”。
    • 查看作业详情:在UDF列表的“操作”列,选择“更多 > 作业详情”。
    • Checkpoint故障恢复:在待恢复项UDF列表的“操作”列选择“更多 > Checkpoint故障恢复”进行Checkpoint故障恢复。作业状态为“运行失败”、“运行成功”和“停止”的作业可以进行Checkpoint故障恢复。

编辑UDF

  1. 参考上传UDF,上传UDF jar包。
  2. 在UDF列表的“操作”列,单击“编辑”,进入“编辑UDF”页面。
  3. 修改信息,单击“确定”完成修改。

删除UDF

  1. 参考上传UDF,上传UDF jar包。
  2. 在UDF列表的“操作”列,单击“删除”,进入“删除UDF”页面。
  3. 确认待删除的UDF信息,单击“确定”完成删除。

    只能删除未被使用的UDF项。