当前位置:首页 » 大数据精品文章 » 正文

hive永久注册udf函数小例子

4477 人参与  2019年02月01日 09:23  分类 : 大数据精品文章  评论

注册UDF函数

1helloUDF.javapackage信息需要修改,代码如下:

/*package com.maven.udf;*/

package org.apache.hadoop.hive.ql.udf;

import org.apache.hadoop.hive.ql.exec.Description;

import org.apache.hadoop.hive.ql.exec.UDF;

import org.apache.hadoop.io.Text;

/**

 * 一个UDF: helloUDF

 */

public class helloUDF extends UDF {

    public Text evaluate( Text input){

        return new Text("Hello: "+input);

    }

}

2)将helloUDF.java文件上传到编译环境指定目录linux使用scp命令windows使用rz命令

image.png 

cd /home/gaof20/v_11/hive/hive-1.1.0-cdh5.7.0/ql/src/java/org/apache/hadoop/hive/ql/udf

3)修改UDF函数注册文件

image.png 

vim /home/gaof20/v_11/hive/hive-1.1.0-cdh5.7.0/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java

添加两行信息:

image.png 

image.png 

4)重新编译hive并将编译后的.jar拷贝hive服务节点,重启hive

scp /home/gaof20/v_11/hive/BUILD_INDEPENDENT_WORKING_DIR/BUILD/hive-1.1.0-cdh5.7.0/ql/target/hive-exec-1.1.0-cdh5.7.0.jar root@10.110.181.40:/usr/leap/3.4.4.0/hive/usr/lib/hive/lib 

(5)测试永久注册UDF有效性

hive节点上,进入beeline

beeline --silent -u "jdbc:hive2://10.110.181.40:10000" -n hive

image.png 

image.png 

创建一个hive,然后测试UDF函数

create table flow(phoneNum string, upflow int, downflow int) row format delimited fields terminated by '\t';

load data local inpath '/tmp/flow.data' into table flow;

image.png 

image.png 

测试成功。


来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=1217

大数据技术与应用  

微信号:qq444848023    QQ号:444848023

加入【我是码农】QQ群:864689844(加群验证:我是码农)

<< 上一篇 下一篇 >>

网站分类

标签列表

最近发表

全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试

本站资源大部分来自互联网,版权归原作者所有!