Hives UDF 编写入门

转载 2012年03月26日 18:08:03

大写转小写


package com.afan;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;

public class UDFLower extends UDF{
    public Text evaluate(final Text s){
        if (null == s){
            return null;
        }
        return new Text(s.toString().toLowerCase());
    }
}

1加载udf jar包
afan@ubuntu:/usr/local/hadoop/hive$ bin/hive
Hive history file=/tmp/afan/hive_job_log_afan_201105150623_175667077.txt
hive> add jar udf_hive.jar;
Added udf_hive.jar to class path
Added resource: udf_hive.jar


2 创建udf函数
hive> create temporary function my_lower as 'com.afan.UDFLower';
OK
Time taken: 0.253 seconds


3 创建测试数据
hive> create table dual (info string);
OK
Time taken: 0.178 seconds
hive> load data local inpath 'data.txt' into table dual;
Copying data from file:/usr/local/hadoop/hive/data.txt
Copying file: file:/usr/local/hadoop/hive/data.txt
Loading data to table default.dual
OK
Time taken: 0.377 seconds
hive> select info from dual;
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_201105150525_0003, Tracking URL = http://localhost:50030/jobdetails.jsp?jobid=job_201105150525_0003
Kill Command = /usr/local/hadoop/bin/../bin/hadoop job  -Dmapred.job.tracker=localhost:9001 -kill job_201105150525_0003
2011-05-15 06:46:05,459 Stage-1 map = 0%,  reduce = 0%
2011-05-15 06:46:10,905 Stage-1 map = 100%,  reduce = 0%
2011-05-15 06:46:13,963 Stage-1 map = 100%,  reduce = 100%
Ended Job = job_201105150525_0003
OK
WHO
AM
I
HELLO
worLd

Time taken: 14.874 seconds

4使用udf函数
hive> select my_lower(info) from dual;
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_201105150525_0002, Tracking URL = http://localhost:50030/jobdetails.jsp?jobid=job_201105150525_0002
Kill Command = /usr/local/hadoop/bin/../bin/hadoop job  -Dmapred.job.tracker=localhost:9001 -kill job_201105150525_0002
2011-05-15 06:43:26,100 Stage-1 map = 0%,  reduce = 0%
2011-05-15 06:43:34,364 Stage-1 map = 100%,  reduce = 0%
2011-05-15 06:43:37,484 Stage-1 map = 100%,  reduce = 100%
Ended Job = job_201105150525_0002
OK
who
am
i
hello
world

Time taken: 20.834 seconds

hive入门学习:UDF开发

hive入门学习:UDF开发          hive中提供了很多的内置函数,可以通过show functions来查看提供了哪些函数,可以desc  function extended 函数,...
  • liyaohhh
  • liyaohhh
  • 2016年02月16日 20:54
  • 703

采用java和python编写hive中的udf

在hive中,用户自定义函数(UDF)是一个允许用户扩展HiveQL的强大的功能。用户将自定义的函数加入到用户会话中(交互式的或者通过脚本执行的),它们就会像内置的函数一样使用。 编写UDF的java...
  • u010705209
  • u010705209
  • 2016年10月26日 16:04
  • 974

使用Python实现Hive的UDF示例

主要分为两个部分,一个部分为Python脚本实现想要实现的功能,另外一个部分为HQL部分,调用Python脚本对数据进行处理。 HQL调用Python实现的UDF其实有一个重定向的过程,把数据表中之...
  • BabyFish13
  • BabyFish13
  • 2016年12月10日 15:49
  • 1723

Hive UDF自定义函数编写小例子

感谢段海涛老师~ 先写一个java类,定义函数逻辑(静态代码块模拟字典) package club.drguo.hive; import java.util.HashMap; import org...
  • Dr_Guo
  • Dr_Guo
  • 2016年03月26日 22:03
  • 1789

Hive入门--3.UDF编写与使用

1. 编写UDF函数a) 继承org.apache.hadoop.hive.ql.exec.UDF类,实现evaluate()evaluate()函数在父类中没有package cn...
  • u014726937
  • u014726937
  • 2016年07月21日 17:46
  • 674

Hive自带Function使用及UDF编程

Hive的自定义function
  • wushuang3625
  • wushuang3625
  • 2017年03月28日 01:31
  • 474

【Hive自定义UDF函数】 与 【hive字符串函数】

Hive的UDF 整理笔记 Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。 Hive的UDF开发只需要重构U...
  • baolibin528
  • baolibin528
  • 2015年05月16日 22:37
  • 1237

【提权】udf提权入侵

今天闲的无聊DEDECMS搞了几个站。没事做提权吧。真的很久很久没有玩这东西了。 测试经典的UDF.dll提权一次性成功。      dedecms的账号和密码都保存在data/co...
  • u014270687
  • u014270687
  • 2015年05月09日 20:03
  • 861

odps编写UDF 利用Gson提取JSON

利用阿里云ODPS平台解析json字符串。需要导入官方的MAVEN骨架,使用GSON包编写UDF,从json字符串中提取对象属性,计算所有对象属性的均值和方差,并且解决unterminated obj...
  • iamiman
  • iamiman
  • 2017年03月14日 14:34
  • 1393

编写hive udf和使用hive udf:hue的hive界面中使用hive udf函数、oozie使用hive udf函数、hive命令行使用udf函数

开发环境:jdk1.7+idea 16+Hive-1.1.0 使用udf的生产环境:cdh5.8.0+hive-1.1.0 1、导入hive的所有相关jar包 或者使用maven引入C...
  • chenjieit619
  • chenjieit619
  • 2016年11月15日 11:14
  • 413
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hives UDF 编写入门
举报原因:
原因补充:

(最多只允许输入30个字)