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,大家都懂什么意思了吧

Hive UDF开发 第一个例子的更多相关文章

  1. Hive UDF开发-简介

    Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以. Hive的UDF开发只需要重构UDF类的evaluate函数即可.例 ...

  2. Hive UDF开发指南

    编写Apache Hive用户自定义函数(UDF)有两个不同的接口,一个非常简单,另一个...就相对复杂点. 如果你的函数读和返回都是基础数据类型(Hadoop&Hive 基本writable ...

  3. Hive UDF开发实例学习

    1. 本地环境配置 必须包含的一些包. http://blog.csdn.net/azhao_dn/article/details/6981115 2. 去重UDF实例 http://blog.csd ...

  4. 04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s

     1. Spring-mvc介绍 1.1市面上流行的框架 Struts2(比较多) Springmvc(比较多而且属于上升的趋势) Struts1(即将被淘汰) 其他 1.2  spring-mv ...

  5. 最强最全面的Hive SQL开发指南,超四万字全面解析

    本文整体分为两部分,第一部分是简写,如果能看懂会用,就直接从此部分查,方便快捷,如果不是很理解此SQL的用法,则查看第二部分,是详细说明,当然第二部分语句也会更全一些! 第一部分: hive模糊搜索表 ...

  6. HIVE udf实例

    本例中udf来自<hive编程指南>其中13章自定义函数中一个例子. 按照步骤,第一步,建立一个项目,创建 GenericUDFNvl 类. /** * 不能接受第一个参数为null的情况 ...

  7. 使用Akka.net开发第一个分布式应用

    系列主题:基于消息的软件架构模型演变 既然这个系列的主题是"基于消息的架构模型演变",少不了说说Actor模型.Akka.net是一个基于Actor模型的分布式框架.如果你对分布式 ...

  8. emberjs学习一(环境和第一个例子)

    code { margin: 0; padding: 0; white-space: pre; border: none; background: transparent; } code, pre t ...

  9. 【翻译习作】 Windows Workflow Foundation程序开发-第一章03

    1.2.2.Visual Studio 2005扩展包 微软也为Windows Workflow开发者提供了Visual Studio 2005扩展包.扩展包将许多功能集成到Visual Studio ...

随机推荐

  1. character_set_connection、character_set_results、 character_set_client的作用

    如题.通常的使用中,character_set_client,character_set_connection这两个变量的值是一样的,也就是说查询不需要进行编码转换.这样看来变量character_s ...

  2. 字典:dict.c/dict.h

    Redis 源码分析(1):字典和哈希表(dict.c 和 dict.h)http://huangz.iteye.com/blog/1455808两个点:字典结构的运作流程哈希表的渐进式 rehash ...

  3. jstl: <c:url> 标签

    这个标签主要是用来重写 URL 地址.它的使用格式如下所示:<c:url value=”value” [context=”context”] [var=”varName”] [scope=”pa ...

  4. java:管道流(线程间管道流)

    class Send implements Runnable{ PipedOutputStream pos = null; public Send() { this.pos = new PipedOu ...

  5. 2015 Benelux Algorithm Programming Contest (BAPC 15)E - Excellent Engineers

    这题想了很久没思路,不知道怎么不sort维护二维的最小值 emmmm原来是线段树/树状数组,一维sort,二维当成下标,维护三维的最小值 #include<bits/stdc++.h> # ...

  6. day4-内置函数

    一.内置函数列表 二.常见内置函数用法 由于python内置函数较多,在此总结一下部分常见的内置函数的用法: abs(x)功能:取数的绝对值 >>> abs(0) 0 >> ...

  7. mysql 视图、触发器、事物、存储过程、函数

    一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...

  8. Codeforces Round #276 (Div. 2)C. Bits(构造法)

    这道题直接去构造答案即可. 对于l的二进制表示,从右到左一位一位的使其变为1,当不能再变了(再变l就大于r了)时,答案就是l. 这种方法既可以保证答案大于等于l且小于等于r,也可以保证二进制表示时的1 ...

  9. OpenCV那个版本的比较好用、稳定,参考资料也较多的

    2.4.8.上opencv官网就能下载到,对应不同版本的VS有编译好的文件. 2.4以后的变化不大.所以你可以百度opencv,有中文网站,上面有详细的说明.如果是在windows系统的话,可以使用v ...

  10. cocos2dx混合模式应用———制作新手引导高亮区域 (2.2.0)

    cocos2dx混合模式应用———制作新手引导高亮区域 转自:http://www.cnblogs.com/mrblue/p/3455775.html 首先,效果预览一下 高亮区域的图片: 示例代码: ...