如何在FlinkSQL中创建和使用自定义UDAF?

提问者:帅平 问题分类:面试刷题
如何在FlinkSQL中创建和使用自定义UDAF?
1 个回答
去
实现UDAF示例如下:
https://www.80wz.com/zb_users/upload/2025/05/20250528094638174839679814848.txt
适用的步骤如下:
1、注册udaf
// 通过TableEnvironment注册(Java代码)
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
StreamTableEnvironment tableEnv = StreamTableEnvironment.create(env);
// 注册UDAF为临时函数
tableEnv.createTemporarySystemFunction("my_avg", MyAvgFunction.class);
2、使用udaf
-- 计算用户订单的平均金额
SELECT 
  user_id, 
  my_avg(amount) AS avg_amount 
FROM orders 
GROUP BY user_id;
发布于:1周前 (05-28) IP属地:
我来回答