zoukankan      html  css  js  c++  java
  • LowerUDF

    package com.XX.udf;
    
    
    import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
    import org.apache.hadoop.hive.ql.exec.UDFArgumentLengthException;
    import org.apache.hadoop.hive.ql.metadata.HiveException;
    import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;
    import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
    import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
    import org.apache.hadoop.hive.serde2.objectinspector.primitive.StringObjectInspector;
    
    
    public class LowerUDF extends GenericUDF {
    
        StringObjectInspector str ;
        @Override
        public ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException {
            //判断输入参数个数是否合法
            if (arguments.length != 1) {
                throw new UDFArgumentLengthException("输入参数长度不合法,应该为一个参数");
            }
    
            //判断输入参数类型是否合法
            if (!(arguments[0] instanceof StringObjectInspector)) {
                throw new UDFArgumentException("输入非法参数,应为字符串类型");
            }
    
            str=(StringObjectInspector)arguments[0];
            //制定输出类型
            return PrimitiveObjectInspectorFactory.javaStringObjectInspector;
        }
    
        @Override
        public Object evaluate(DeferredObject[] arguments) throws HiveException {
            String input = str.getPrimitiveJavaObject(arguments[0].get());
            return input.toLowerCase();
        }
    
        @Override
        public String getDisplayString(String[] children) {
            return "方法的描述信息";
        }
    }
  • 相关阅读:
    使用正则表达式验证密码长度
    创建字符串
    洛谷P1605 迷宫 深度搜索 模板!
    洛谷P5534 【XR-3】等差数列 耻辱!!!
    搜索字母a或A
    洛谷P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here
    19新生赛 质数中的质数
    洛谷P1055 ISBN号码
    洛谷P 1427 小鱼的数字游戏
    洛谷p1047 校门外的树
  • 原文地址:https://www.cnblogs.com/yin-fei/p/10879725.html
Copyright © 2011-2022 走看看