zoukankan      html  css  js  c++  java
  • hive 中简单的udf函数编写

    1.注册函数,使用using jar方式在hdfs上引用udf库。
    $hive>create function formattime as 'com.bigdata.udf.FormatTimeUDF' using jar 'hdfs://hadoop01/app/app-logs-hive-1.0-SNAPSHOT.jar';2.注销函数,只需要删除mysql的hive数据记录即可。
    delete from func_ru ;
    delete from funcs ;
    show funcyions;
    desc formatted function substring;



    2.udf函数获取天开始一些简单方法
    @Description(name = "udf_getdaybegin", value = "getdaybegin", extended = "getdaybegin() ; " + " getdaybegin(2) " + " getdaybegin('2017/06/29 01:02:03') " + " getdaybegin('2017/06/29 01:02:03',2) " + " getdaybegin(date_obj) " + " getdaybegin(date_obj,2)") public class DayBeginUDF extends UDF { /** * 计算现在的起始时刻(毫秒数) */ public long evaluate() throws ParseException { return evaluate(new Date()); } /** * 指定天偏移量 */ public long evaluate(int offset) throws ParseException { return evaluate(DateUtil.getDayBeginTime(new Date(), offset)); } /** * 计算某天的开始时刻(毫秒数) */ public long evaluate(Date d) throws ParseException { return DateUtil.getDayBeginTime(d).getTime(); } /** * 计算某天的开始时刻(毫秒数) */ public long evaluate(Date d, int offset) throws ParseException { return DateUtil.getDayBeginTime(d, offset).getTime(); } /** * 计算某天的起始时刻(毫秒数) */ public long evaluate(String dateStr) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date d = sdf.parse(dateStr); return evaluate(d); } /** * 计算某天的起始时刻(毫秒数) */ public long evaluate(String dateStr, int offset) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date d = sdf.parse(dateStr); return DateUtil.getDayBeginTime(d, offset).getTime(); } /** * 计算某天的起始时刻(毫秒数) */ public long evaluate(String dateStr, String fmt) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat(fmt); Date d = sdf.parse(dateStr); return DateUtil.getDayBeginTime(d).getTime(); } /** * 计算某天的起始时刻(毫秒数) */ public long evaluate(String dateStr, String fmt, int offset) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat(fmt); Date d = sdf.parse(dateStr); return DateUtil.getDayBeginTime(d, offset).getTime(); } }
  • 相关阅读:
    (八)DVWA之SQL Injection--SQLMap&Burp测试(Medium)
    (五)SQLMap工具检测SQL注入漏洞、获取数据库中的数据
    (四)SQLMap之Tamper篡改脚本的类型、作用、适用场景
    (七)DVWA之SQL Injection--SQLMap测试(Low)
    (三)SQLMap工具-使用选项的操作命令&功能
    20190923-13Linux企业真实面试题 000 021
    20190923-12Linux软件包管理 000 020
    20190923-11Linux crond 系统定时任务 000 019
    20190923-10Linux进程线程类 000 018
    20190923-09Linux磁盘分区类 000 017
  • 原文地址:https://www.cnblogs.com/hejunhong/p/10321022.html
Copyright © 2011-2022 走看看