1,背景
数据挖掘项目中,常见的需求之一就是分析节假日订单跟平时订单的区别。
2,需求
输入一个日期,判断是否是节假日。
3,UDF(user-defined function)
全称为用户自定义函数。
UDF类:实现的evaluate函数的入参和返回值只支持可序列化的数据类型,即string,int,double等等。
GenricUDF类:实现的evaluate函数可支持array,map等复杂的参数。
本例只需返回string,所以只要继承UDF类即可。
下面是实现的代码:@Description 是注释,describe function festival即可查看该函数的详细说明
package festival;
import org.apache.hadoop.hive.ql.exec.Description;
import org.apache.hadoop.hive.ql.exec.UDF;
import java.io.InputStreamReader;
import java.text.NumberFormat;
import java.util.HashMap;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class FestivalType extends UDF {
@Description(
name = "festi