package udf;

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

public class helloudf extends UDF{
public String evaluate(String str){
try {
return "HelloWorld " + str;
} catch (Exception e) {
// TODO: handle exception
return null;
}
}
} 上面是一个java project 写的 udf 程序的意思大家应该都明白 打包成jar: 用fat jar 博客之前发过jar包了,然后导出成jar 传到Linux本地目录 进入hive
add jar /home/hadoop/udf_1_fat.jar; //注意,这个地址为Linux本地地址,不是hdfs地址 传到hdfs是接收不到的 除非你加上hdfs链接(没有测试)
CREATE TEMPORARY FUNCTION helloworld AS 'udf.helloudf'
show functions 可以看到所有支持的方法,里面会有helloworld
找一个表,里面有点数据的
我这边找的一个表,我查出来的数据为:
hive> select * from hive1 limit 10;
OK
1 百花家园 张云龙 18001295207 155 2室1厅1卫 94 2/5层 南北 sina 河北链家地
2 中国铁建原香小镇 高伟 13501061874 210 3室2厅1卫 115 6/6层 南北 sina 凯利门
3 金泰城丽湾 马丰收 18210989857 1200 5室3厅3卫 258 18/19层 南北 sina 21世纪
4 恋日绿岛 于洪梁 13366126543 430 3室2厅2卫 149 2/4层 南北 sina 如一房产
5 怡海花园恒泰园 史润生 18401296028 520 2室2厅2卫 136 15/28层 西 sina 我爱我家
6 高教新城观宇园 张超 18910750910 180 2室1厅1卫 89 14/18层 南北 sina 晨建顺房屋
7 东润枫景 孙心源 13501365333 380 2室1厅1卫 91 1/20层 东南 sina 我爱我家
8 北苑家园望春园 刘韬 18311385981 245 1室1厅1卫 69 17/25层 东南 sina 城承物业
9 中央公园广场 吕德辉 15010507970 5800 1室0厅0卫 672 2/26层 南 sina 华清永泰
10 上上城第二季 杨瑞平 15001210716 200 4室1厅2卫 155 6/15层 南北 sina 河北链家地 字段对应就不说了 下面就是结果了
hive> select helloworld(hive1.large) from hive1 limit 10;
OK
HelloWorld 94
HelloWorld 115
HelloWorld 258
HelloWorld 149
HelloWorld 136
HelloWorld 89
HelloWorld 91
HelloWorld 69
HelloWorld 672
HelloWorld 155
Time taken: 0.131 seconds, Fetched: 10 row(s)
hive> select helloworld(hive1.price) from hive1 limit 10;
OK
HelloWorld 155
HelloWorld 210
HelloWorld 1200
HelloWorld 430
HelloWorld 520
HelloWorld 180
HelloWorld 380
HelloWorld 245
HelloWorld 5800
HelloWorld 200
Time taken: 0.111 seconds, Fetched: 10 row(s)
hive> select helloworld(hive1.id) from hive1 limit 10;
OK
HelloWorld 1
HelloWorld 2
HelloWorld 3
HelloWorld 4
HelloWorld 5
HelloWorld 6
HelloWorld 7
HelloWorld 8
HelloWorld 9
HelloWorld 10
Time taken: 0.115 seconds, Fetched: 10 row(s) ok,大家都懂什么意思了吧

最新文章

  1. JS获取屏幕高度(转)
  2. HTML5扩展之微数据与丰富网页摘要
  3. 用 highlight.js 为文章中的代码添加语法高亮
  4. Node ExpressJs server的路径设置
  5. ACM: POJ 1061 青蛙的约会 -数论专题-扩展欧几里德
  6. JavaScript TDD with Mocha
  7. FreeMarker中List排序
  8. CodeForces 163B Lemmings 二分
  9. 无法找到脚本引擎Jscript解决
  10. proxy set 拦截
  11. 杭电OJ—— 1084 What Is Your Grade?
  12. zoj 2022
  13. iOS 视频开发学习
  14. SQL Server 2016 行级别权限控制
  15. 浅析JS异步执行机制
  16. leetcode(57)- Implement strStr()
  17. 特殊需求:EF 6.x如何比较TimeSpan格式的字符串?EF Core实现方式是否和EF 6.x等同?
  18. crm 添加用户 编辑用户 公户和私户的展示,公户和私户的转化
  19. python调用shell脚本时需要切换目录
  20. ASP 运行结果显示空白 --- 是编码的原因。

热门文章

  1. Keystone Federation Identity
  2. JVM内存管理中的垃圾回收策略
  3. 路由器分配的IP地址
  4. HorizontalScrollView水平滚动控件
  5. POJ3468 splay
  6. ElasticSearch聚合分析API——非常详细,如果要全面了解的话,最好看这个
  7. ElasticSearch_学习_01_单实例安装与分布式安装
  8. CCControlSwitch 、CCControlSlider、CCControlButton
  9. SVN客户端与服务器端搭建
  10. python 中zip函数的使用