Flink自定义函数之标量函数怎么用
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,小编给大家分享一下Flink自定义函数之标量函数怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!背景flink本身给我
千家信息网最后更新 2025年12月02日Flink自定义函数之标量函数怎么用
小编给大家分享一下Flink自定义函数之标量函数怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
背景
flink本身给我们提供了大量的内置函数,已经能满足我们绝大部分的需求,但是如果确实是碰到了一些特殊的场景,无法满足我们的需求的时候,我们可以自定义函数来解决,今天我们主要讲一下最简单的自定义函数-ScalarFunction。
实例讲解
定义函数
首先我们来实现一个最简单的标量函数,主要功能就是对两个数加和操作,实现标量函数需要继承抽象类ScalarFunction,然后实现eval方法,代码如下:
public static class SumFunction extends ScalarFunction{
public Integer eval(Integer a, Integer b){
return a + b;
}
}
通过程序注册函数
//通过程序的方式来注册函数
SumFunction sumFunction = new SumFunction();
tableEnv.registerFunction("mysum", sumFunction);
Table table1 = tableEnv.sqlQuery("select mysum(1,2)");
tableEnv.toAppendStream(table1, Row.class).print();
通过sql注册函数
//通过sql的方式来注册函数
String className = SumFunction.class.getName();
String sql = "create temporary function default_catalog.default_database.mysum1" +
" as '" + className + "'";
tableEnv.sqlUpdate(sql);
Table table2 = tableEnv.sqlQuery("select mysum1(3,4)");
tableEnv.toAppendStream(table2, Row.class).print();
之后我们可以通过StreamTableEnvironment类的listFunctions方法列出来所有的函数来看下我们自定义的函数是否在其中.
//列出来所有的函数,看是否包含我们定义的函数
String[] functions = tableEnv.listFunctions();
Stream.of(functions).filter(f->f.startsWith("mysum")).forEach(System.out::println);
最后如果自定义的jar和主程序不在一个jar包,通过命令行提交任务的时候,记得通过参数--classpath(简写-C)将包含自定义函数的jar添加到classpath里。
以上是"Flink自定义函数之标量函数怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
函数
标量
篇文章
内容
方式
方法
时候
程序
需求
特殊
不怎么
两个
主程序
代码
任务
功能
参数
可以通过
命令
场景
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
学游戏软件开发怎么样
epic 验证数据库
数据库的不安全因素有哪些
大连美国思科软件开发
空间数据库教程课后习题
网络安全法日志
方舟服务器设计师
网络安全教育校园主题团日活动
aspnet 上传文件到数据库
长宁区制造软件开发案例
网络安全设备认知 ppt
lol全部服务器爆满
端游方舟连接服务器超时
数据库管理的变迁人工管理系统
小学生网络安全选择题
特朗普政府 网络安全
互联网加工科技创新
solidworks高程数据库
厦门棋牌软件开发公司排名
茂名网络技术考试
上海机械软件开发服务价格
数据库表实例
计算机网络技术适合女子学吗
服务器屏蔽ip可以抵挡攻击吗
我的世界七层服务器刷怪塔
我的世界方块研究所服务器下载
广州墨铜互联网科技有限公司
网络安全分级响应措施
雪崩数藏服务器在哪
h3c服务器管理ip