HDP-使用maven构建udf开发环境

环境:

  • idea 2017
  • maven 4.0
  • hive 1.2.1.2.6
  • win10

创建maven项目




    4.0.0

    hive
    udf
    1.0-SNAPSHOT
    jar

    hive
    http://maven.apache.org

    
        UTF-8
    

    
        
            org.apache.hive
            hive-exec
            0.13.0
        
    



等待安装好依赖

编写UDF函数

编写一个生成MD5函数

public class my_udf extends UDF {

    public String my_udf(String s) {
        return getMD5(s);
    }
    public static String getMD5(String str) {
        try {
            // 生成一个MD5加密计算摘要
            MessageDigest md = MessageDigest.getInstance("MD5");
            // 计算md5函数
            md.update(str.getBytes());
            // digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符
            // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值
            return new BigInteger(1, md.digest()).toString(16);
        } catch (Exception e) {
            System.out.print("MD5加密出现错误");
        }
        return "error";
    }


}

生成jar包

idea 里面直接点package

上传jar包

使用jar文件

add jar hdfs:///user/admin/udf-md5.jar;
create temporary function my_udf as 'my_udf';
select my_udf(word_count.column1) from word_count limit 5

你可能感兴趣的:(HDP-使用maven构建udf开发环境)