HIVE: UDF应用实例

数据文件内容

TEST DATA HERE
Good to Go

我们准备写一个函数,把所有字符变为小写.

1.开发UDF

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

public class ToLowerCase extends UDF
 {
    public Text evaluate(final Text s)
    {
        return new Text(s.toString().toLowerCase());
    }

}

2.打包为MyUDF.jar

3.hive> add jar /home/work/MyUDF.jar;

4.hive> create temporary function mytest as ‘MyTestPackage.ToLowerCase‘;

5.hive> show functions;

已经加好了

6.HQL中使用-

时间: 2024-10-12 01:31:02

HIVE: UDF应用实例的相关文章

[转]HIVE UDF/UDAF/UDTF的Map Reduce代码框架模板

FROM : http://hugh-wangp.iteye.com/blog/1472371 自己写代码时候的利用到的模板 UDF步骤: 1.必须继承org.apache.hadoop.hive.ql.exec.UDF 2.必须实现evaluate函数,evaluate函数支持重载 Java代码   <span style="font-size: x-small;">package com.alibaba.hive.udf; import org.apache.hadoo

hive UDF添加方式

hive UDF添加的方式 1.添加临时函数,只能在此会话中生效,退出hive自动失效 hive> add jar /home/jtdata/hiveUDF/out0.jar;Added [/home/jtdata/hiveUDF/out0.jar] to class pathAdded resources: [/home/jtdata/hiveUDF/out0.jar] hive> create temporary function quling as 'com.redhadoop.data

将Hive统计分析结果导入到MySQL数据库表中(三)——使用Hive UDF或GenericUDF

前面我分别介绍了两种Hive将分析结果导入到MySQL表的两种方式:Sqoop导入方式和使用Hive.MySQL JDBC驱动,现在我介绍第三种,也是使用比较多的方式--使用Hive 自定义函数(UDF或GenericUDF)将每条记录插入到数据库表中. 一.使用UDF方式 使用UDF方式实现比较简单,只要继承UDF类,并重写evaluate方法即可 1.编写实现类 package com.gxnzx.hive.udf; import org.apache.hadoop.hive.ql.exec

Hive UDF 实验1

项目中使用的hive版本低于0.11,无法使用hive在0.11中新加的开窗分析函数. 在项目中需要使用到row_number()函数的地方,有人写了udf来实现这个功能. new java project, BuildPath add hadoop-core..jar and hive-exec…jar. package myudf; import java.util.Arrays; import org.apache.hadoop.hive.ql.exec.UDF; public final

如何编写自定义hive UDF函数

Hive可以允许用户编写自己定义的函数UDF,来在查询中使用.Hive中有3种UDF: UDF:操作单个数据行,产生单个数据行: UDAF:操作多个数据行,产生一个数据行. UDTF:操作一个数据行,产生多个数据行一个表作为输出. 用户构建的UDF使用过程如下: 第一步:继承UDF或者UDAF或者UDTF,实现特定的方法. UDF实例参见http://svn.apache.org/repos/asf/hive/trunk/contrib/src/java/org/apache/hadoop/hi

Hive UDF开发指南

编写Apache Hive用户自定义函数(UDF)有两个不同的接口,一个非常简单,另一个...就相对复杂点. 如果你的函数读和返回都是基础数据类型(Hadoop&Hive 基本writable类型,如Text,IntWritable,LongWriable,DoubleWritable等等),那么简单的API(org.apache.hadoop.hive.ql.exec.UDF)可以胜任 但是,如果你想写一个UDF用来操作内嵌数据结构,如Map,List和Set,那么你要去熟悉org.apach

Hive UDF开发实例学习

1. 本地环境配置 必须包含的一些包. http://blog.csdn.net/azhao_dn/article/details/6981115 2. 去重UDF实例 http://blog.csdn.net/lifuxiangcaohui/article/details/41548667 http://www.cnblogs.com/end/archive/2012/10/12/2721543.html

Hive UDF开发 第一个例子

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 proje

hive UDF函数

?虽然Hive提供了很多函数,但是有些还是难以满足我们的需求.因此Hive提供了自定义函数开发 ?自定义函数包括三种UDF.UADF.UDTF ?UDF(User-Defined-Function) ?UDAF(User- Defined Aggregation Funcation) ?UDTF(User-Defined Table-Generating Functions)  用来解决 输入一行输出多行(On-to-many maping) 的需求. 准备工作: UDF开发所需要依赖的jar包