先记一次事故:功能逻辑在eclipse上执行没问题,上传到hive上死活无法执行该函数
代码如下:
package hive.udf;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.hive.ql.exec.UDF;
public class date_return extends UDF {
public String exvaluate(String strDate) throws ParseException {
// String strDate = "2017/04/23 16:45:12"; //指定时间
String dateM = strDate.toString();
boolean status = dateM.contains("-");
if (status){
SimpleDateFormat lsdStrFormat = new SimpleDateFormat("yyyy-MM-dd");//初始化SimpleDateFormat类型
Date strD = lsdStrFormat.parse(dateM); //将string转化为data对象
Date lastDayOfMonth = getLastDayOfMonth(strD);//利用getLastDayOfMonth自定义方法获得当月最后一天
return (lsdStrFormat.format(lastDayOfMonth));
}
else{
Simpl