失效链接处理 |
hive自定义UDF编写函数 PDF 下载
本站整理下载:
相关截图:
主要内容:
1.创建一个类继承GenericUDF或者UDF类,在类中实现自定义函数的逻辑,此例是继承GenericUDF类。GenericUDF实现比较复杂,需要先继承GenericUDF。这个API需要操作Object Inspectors,并且要对接收的参数类型和数量进行检查。GenericUDF需要实现以下三个方法:
//这个方法只调用一次,并且在evaluate()方法之前调用。该方法接受的参数是一个ObjectInspectors数组。该方法检查接受正确的参数类型和参数个数。
abstract ObjectInspector initialize(ObjectInspector[] arguments);
//这个方法类似UDF的evaluate()方法。它处理真实的参数,并返回最终结果。
abstract Object evaluate(GenericUDF.DeferredObject[] arguments);
//这个方法用于当实现的GenericUDF出错的时候,打印出提示信息。而提示信息就是你实现该方法最后返回的字符串。
abstract String getDisplayString(String[] children);
2.此处是重新实现hive中add_months函数,实现和mysql中添加月份一样的效果(date_add(CURDATE(),INTERVAL 1 MONTH)),此处需要引入两个jar包:hadoop-common-2.7.3.jar,hive-exec-1.2.1.jar,项目结构如下图:
需要在项目中添加一个MANIFEST.MF文件,定义主类和关联的jar包,内容如下:
说明:Class-Path需要指定依赖的第三方jar包的存储位置
|