hive java编写udf函数
(一)创建JAVA 代码--例子
package hiveOpt;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
public class splitMax extends UDF {
public static int getMax(String[] arr) {
int max = Integer.valueOf(arr[0]);
for (int i = 1; i < arr.length; i++) {
if (Integer.valueOf(arr[i]) > max) {
max = Integer.valueOf(arr[i]);
}
}
return max;
}
public Text evaluate(String mdimlr)
{
Text result = new Text();
String[] a = mdimlr.split(",");
result.set(String.valueOf(getMax(a)));
return result;
}
}
(二)上传jar到hdfs
hadoop fs -put /data/soft/splitMax.jar /tmp
(三)登录hive命令行加载jar
hive> add jar hdfs:///tmp/splitMax.jar;
hive> create temporary function splitmax as 'hiveOpt.splitMax';
hive> show funcations
hive> select splitmax(id) from wobcongfu;
( 四)测试自定义函数
select phone_num,max(myCol1)
from temp_qiu_test1
LATERAL VIEW explode(split(col1,',')) myTable1 AS myCol1
group by phone_num;
最新文章
- Hadoop: Hadoop Cluster配置文件
- 表单验证插件 - formValidator
- html5遵循的5个设计原则
- Varnish安装使用(初学)
- node.js在linux下的安装
- Megacli查看raid磁盘信息
- 细雨学习笔记:Jmeter测试计划最基本的元素
- (转)Object-C 中各数据类型转换 NSData转NSString,Byte,UIImage
- canvas 渐变
- 一键搭键php网站环境的系统
- qsort函数辅助函数compare函数的编写
- 【树莓派】树莓派下WiFi断线自动重连
- 基于webuploader.js的单图片上传封装
- Tomcat部署war应用总结
- in_flight_pqueue.go
- Win7下,nginx默认80端口被System占用,造成nginx启动报错
- 【转】一个 Linux 上分析死锁的简单方法
- Android-引导用户指纹录入
- HDU - 4389 X mod f(x)(数位dp)
- reportviewer需要的3个引用