Hive UDF开发
2017-03-19 01:45
381 查看
======================1 转换小写========================== hive> select * from student; OK 2 BEBETTER 1 HUANGPENG Time taken: 0.149 seconds, Fetched: 2 row(s) hive> desc student; OK id int name string <1>创建java工程,导入hive包中lib文件夹下所有.jar包 package com.hp.hive.udf; import org.apache.hadoop.hive.ql.exec.UDF; public class ToLowerCase extends UDF { public String evaluate(String field) { return field.toLowerCase(); } } <2>导出jar包到本地,并上传到服务器 <3>hive中执行add jar命令(只在此命令后中有效) hive> add jar /home/hadoop/worktmp/20170318/hiveudf.jar; <4>创建临时函数 hive> create temporary function tolow as 'com.hp.hive.udf.ToLowerCase'; <5>调用 hive> select id, name, tolow(name) from student; OK 2 BEBETTER bebetter 1 HUANGPENG huangpeng Time taken: 0.136 seconds, Fetched: 2 row(s) ======================2 得到省份========================== hive> select * from province; OK 1 13612341234 2 13712342343 3 13312312312 4 13921231231 5 13021312312 Time taken: 0.202 seconds, Fetched: 5 row(s) hive> desc province; OK id int phonenbr string Time taken: 0.088 seconds, Fetched: 2 row(s) <1>创建java工程,导入hive包中lib文件夹下所有.jar包 package com.hp.hive.udf; import java.util.HashMap; import org.apache.hadoop.hive.ql.exec.UDF; public class GetProvin extends UDF{ public static HashMap<String, String> provinceMap = new HashMap<String, String>(); static { provinceMap.put("130", "Hubei"); provinceMap.put("133", "Beijing"); provinceMap.put("136", "Shenzhen"); provinceMap.put("137", "Haerbing"); provinceMap.put("139", "Taiwan"); } public String evaluate(String pnumber) { String start3numbe = pnumber.substring(0, 3); String province = provinceMap.get(start3numbe); return province == null ? "huoxing" : province; } } <2>导出jar包到本地,并上传到服务器 <3>hive中执行add jar命令(只在此命令后中有效) hive> add jar /home/hadoop/worktmp/20170318/hiveudf4.jar; <4>创建临时函数 hive> create temporary function getprovin as 'com.hp.hive.udf.GetProvin'; <5>调用 hive> select id, phonenbr, getprovin(phonenbr) from province; OK 1 13612341234 Shenzhen 2 13712342343 Haerbing 3 13312312312 Beijing 4 13921231231 Taiwan 5 13021312312 Hubei Time taken: 0.136 seconds, Fetched: 5 row(s)
相关文章推荐
- Hive UDF开发
- Hive UDF开发(单个参数)
- Hive UDF 开发
- Hive UDF函数开发及企业规范
- Hive UDF函数开发及企业规范
- hive UDF开发入门(转)
- Hive UDF函数开发及企业规范
- hive UDF函数开发
- hiveudf和sparkudf开发应用和对比
- Hive UDF函数开发及企业规范
- Hive UDF开发(多个参数)
- 开发HIVE的UDF自定义函数
- 开发HIVE的UDF自定义函数
- 开发hive UDF函数
- Hive UDF开发实例学习
- hive开发UDF随记
- hive udf开发以及永久注册udf函数
- hive udf开发超详细手把手教程
- hive udf开发超详细手把手教程
- Hive UDF函数开发及企业规范