SODBASE CEP学习(十七):自定义函数开发
2016-11-19 23:17
369 查看
前面的文章已经多次提到自定义函数,对JAVA开发熟悉的读者,只要自己实现一个类的public方法,就可以当做自定义函数在EPL中使用。部署时,代码然后打成jar包放到lib目录下即可。如果对这个流程不熟悉也不要紧,本文提供一个示例,按步骤就可以做自定义函数
(1)下载SODBASE-CEP-SDK-UserFunction-2.0.zip解压。
(2)在Eclipse中导入,File->Import点击确定
选择General->Existing Projects into Workspace
选择刚解压的目录,点击“Finish”
(1) 新建包名com.example,新建Class,手工取名Compare
(2) 编写代码
(5)编写完代码后,将工程导出为jar包
取名“sodbase-external-dataadaptor.jar”(注:可以自己取)
(3) 将导出的“sodbase-external-dataadaptor.jar”和依赖的jar包放到studio的externaljar目录下。读者也可以直接放到lib目录下重启Studio,放到exteranljar目录的作用是可以不重启服务器动态加载依赖库。在CEP Server中使用也一样可以放到lib目录下重启服务器,或者放到externaljar目录不重启服务器。
(4) 在Studio建模中,为模型配置依赖库,选择sodbase-external-dataadaptor.jar
在谓词条件中使用,例如JAVA:com.example.Compare:greaterThan(T1.price,T2.price)。注意JAVA后面和函数名之前是英文冒号。
如果是static public函数则使用JAVASTATIC前缀,即JAVASTATIC:com.example.Compare:greaterThan(T1.price,T2.price)
1 使用场景
自定义函数可以在SELECT语句和WHERE语句中作为函数使用。2学习自定义函数制作
整个过程大概5分钟以内可完成(1)下载SODBASE-CEP-SDK-UserFunction-2.0.zip解压。
(2)在Eclipse中导入,File->Import点击确定
选择General->Existing Projects into Workspace
选择刚解压的目录,点击“Finish”
(1) 新建包名com.example,新建Class,手工取名Compare
(2) 编写代码
package com.example; public class Compare { public boolean greaterThan(String arg1,String arg2) { if(Double.valueOf(arg1)>Double.valueOf(arg2)) return true; else return false; } }
(5)编写完代码后,将工程导出为jar包
取名“sodbase-external-dataadaptor.jar”(注:可以自己取)
(3) 将导出的“sodbase-external-dataadaptor.jar”和依赖的jar包放到studio的externaljar目录下。读者也可以直接放到lib目录下重启Studio,放到exteranljar目录的作用是可以不重启服务器动态加载依赖库。在CEP Server中使用也一样可以放到lib目录下重启服务器,或者放到externaljar目录不重启服务器。
(4) 在Studio建模中,为模型配置依赖库,选择sodbase-external-dataadaptor.jar
在谓词条件中使用,例如JAVA:com.example.Compare:greaterThan(T1.price,T2.price)。注意JAVA后面和函数名之前是英文冒号。
如果是static public函数则使用JAVASTATIC前缀,即JAVASTATIC:com.example.Compare:greaterThan(T1.price,T2.price)
相关文章推荐
- SODBASE CEP学习(十三):EPL常用函数
- SODBASE CEP学习(四):类SQL语言EPL与Storm或jStorm集成
- SODBASE CEP学习(九):SODBASE View 实时图表显示和移动端消息
- SODBASE CEP学习进阶篇(七):SODBASE CEP与Spark streaming集成
- SODBASE CEP学习(十五):常见场景EPL示例
- SODBASE CEP学习(十四):在Studio配置文件中编辑中文
- SODBASE CEP学习(五):流式计算中的类SQL语言EPL
- SODBASE CEP学习进阶篇(四):自己控制时钟和时间戳
- SODBASE CEP学习进阶篇(七)续:SODBASE CEP与Spark streaming集成-低延迟规则管理
- SODBASE CEP学习进阶篇(五):与分布式缓存集成
- 安卓开发学习心得-------自定义适配器BaseAdapter基础
- SODBASE CEP学习(六):流式计算中的存储和ETL
- SODBASE CEP学习进阶篇(三):自己写输入输出适配器
- SODBASE CEP学习(十一):分布式集群
- Android开发学习之路-自定义ListView(继承BaseAdapter)
- SODBASE CEP学习(二):运行第一个EPL例子
- SODBASE CEP学习(八):高可用性HA
- SODBASE CEP学习进阶篇(一):除了Java还有C++
- SODBASE CEP学习进阶篇(二):日志采集
- SODBASE CEP学习进阶篇(二)续:日志采集-Flume Syslog采集