zoukankan      html  css  js  c++  java
  • 自己写的udf demo

    根据要求要实现一个查询日期及星期几的方法。写SQL太麻烦了,正好学习一下UDF

    样例如下:

    package com.**.**.**
    
    import org.apache.hadoop.hive.ql.exec.UDF;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    /**
     * 输入"yyyy-mm-dd"
     * 返回"yyyy-mm-dd 星期X"
     */
    public class DateTransToWeek extends UDF {
        public String evaluate(String inputStr) {
            if (inputStr == null || inputStr.trim().equals("")) {
                return "";
            }
            SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
            String[] weekDays = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
            Calendar cal = Calendar.getInstance(); // 获得一个日历
            Date datet = null;
            try {
                datet = f.parse(inputStr);
                cal.setTime(datet);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            int w = cal.get(Calendar.DAY_OF_WEEK) - 1; // 指示一个星期中的某天。
            if (w < 0) {
                w = 0;
            }
            return inputStr + " " +weekDays[w];
        }
    }

  • 相关阅读:
    websocket 学习笔记
    oxy 学习笔记
    postcss
    一致性hash和chord
    leveldb 学习笔记
    logrus 学习笔记
    viper 学习笔记
    redigo 学习笔记
    gin 学习笔记
    修改TOMCAT的JVM虚拟机内存大小几种方式
  • 原文地址:https://www.cnblogs.com/MikeSunny/p/9228036.html
Copyright © 2011-2022 走看看