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];
        }
    }

  • 相关阅读:
    322. Coin Change
    368.[LeetCode] Largest Divisible Subset
    c++
    python 循环
    2018今日头条
    c++中set的用法
    [LeetCode]48. Rotate Image 旋转图片
    [LeetCode]47. Permutations II
    [LeetCode]46. Permutations
    sys与os模块(转载)
  • 原文地址:https://www.cnblogs.com/MikeSunny/p/9228036.html
Copyright © 2011-2022 走看看