A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 不二晨 金牌黑马   /  2018-10-23 09:05  /  942 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

以创建转换字符串大小写为例:

1、搭建java项目,把hive安装包下libjar包添加进去。



2、创建转换字符串大小类,必须继承UDF类

package com.zsy.hive.udf;

import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.hive.ql.exec.UDF;

/**
* 转换小写或者大写
*
* @author zhaoshouyun
*
*/
public class TolowerOrUpperCase extends UDF {
        /**
         *
         * @param field 字段名
         * @param i     0大写 1小写 , 默认小写
         * @return
         */
        public String evaluate(String val, int i) {
                if (StringUtils.isBlank(val)) {
                        return "";
                } else if (i == 0) {
                        return val.toUpperCase();
                } else {
                        return val.toLowerCase();
                }
        }
}
第三,导出jar





第四,上传到hive所在的服务器上,并在hive命令行执行加载jar命令:

add JAR /home/hadoop/udf.jar;



第五,创建hive函数,create temporary function toLowOrUpper as 'com.zsy.hive.udf.TolowerOrUpperCase';



第六,测试自定义函数







总结:其他函数,基本上用这个模板即可
---------------------
【转载】
作者:云游遍天下
原文:https://blog.csdn.net/u011410254/article/details/83244374


2 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马