栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

Hive UDF 函数

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Hive UDF 函数

Hive UDF 函数 1.安装maven,修改settings.xml
	C:/Soft/maven/repository
	
	
		
            mirror
            central,jcenter,!rdc-releases,!rdc-snapshots
            mirror
            https://maven.aliyun.com/nexus/content/groups/public
        
		
			alimaven
			aliyun maven
			http://maven.aliyun.com/nexus/content/repositories/central/
			central
		

		
		
			junit
			junit Address/
			http://jcenter.bintray.com/
			central
		
    
2.idea创建maven项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oqMxRICy-1660039059927)(D:/Soft/Typora/images/image-20220802112753789.png)]

1.添加依赖
	
        
        
            org.apache.hadoop
            hadoop-common
            3.0.0-cdh6.3.3
        
        
        
            org.apache.hive
            hive-exec
            2.1.1-cdh6.3.3
        
    
2.如果依赖无法下载,到 https://mvnrepository.com/ 中央仓库下载所需依赖,并使用mvn命令添加
call mvn install:install-file -DgroupId=org.apache.hadoop -DartifactId=hadoop-common -Dversion=3.0.0-cdh6.3.3 -Dpackaging=jar -Dfile=D:Downloadshadoop-common-3.0.0-cdh6.3.3.jar
3.打包插件添加
	
        
            
                org.apache.maven.plugins
                maven-shade-plugin
                3.2.0
                
                    
                        package
                        
                            shade
                        
                    
                
            
        
    
4.编写udf代码
public class udf_replace extends UDF {

    private String str = null;

    public String evaluate(String urlStr){
        if (urlStr == null){
            return "";
        }
        String strs = urlStr.replace("(","(")
                .replace(")",")")
                .replace("。",".")
                .replace("φ","Φ")
                .replace("","")
                ;
        return strs;
    }
}
5.打jar包


6.上传jar包到服务器

-rw-r–r–. 1 root root 39788030 8月 2 11:13 hive_udf_replace_chars.jar

put到HDFS

hdfs dfs -mkdir /user/hive/udf
hdfs dfs -put hive_udf_replace_chars.jar /user/hive/udf/
3.hive创建自定义函数
--创建临时函数
CREATE temporary FUNCTION udf_replace AS 'udf_replace' using jar 'hdfs://cdh-01.com:8020/user/hive/udf/hive_udf_replace_chars.jar';

--创建永久函数
CREATE FUNCTION udf_replace AS 'com.hzjt.UdfReplace' using jar 'hdfs:///user/hive/udf/hive_udf_replace_char-1.0-SNAPSHOT.jar';

--删除函数
drop [temporary] function [if exists] [dbname.]函数名;
例:删除永久函数(临时的就没必要了,因为一退出就没了)
drop function replace_chars;

--永久函数需要add jar
add jar hdfs://cdh-01.com:8020/user/hive/udf/hive_udf_replace_chars.jar;
--删除jar
delete jar hive_udf_replace_chars.jar


add jar
add jar hdfs://cdh-01.com:8020/user/hive/udf/hive_udf_replace_chars.jar;
--删除jar
delete jar hive_udf_replace_chars.jar

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1039511.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号