`
conkeyn
  • 浏览: 1529559 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

创建hive自定义函数

 
阅读更多

1、引用包:

(1)、引用$HIVE_HOME/lib下的所有jar包;

(2)、引用$HADOOP_HOME/hadoop-core-xx.xx.jar包

2、源码

(1)示例1

package org.robby.hive.udf;

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

public class RobLower extends UDF {

	public Text evalute(final Text s) {
		if (s == null)
			return null;
		return new Text(s.toString().toLowerCase());
	}
}

 

(2)示例2

package org.robby.hive.udf;

import org.apache.hadoop.hive.ql.exec.UDF;
import org.w3c.dom.Text;

public class RobBigger3 extends UDF {
	
	public Boolean evaluate(Text s){
		if(s==null){
			return null;
		}
		int t= Integer.parseInt(s.toString());
		if(t>3){
			return true;
		}else{
			return false;
		}
	}
}

 

3、打包输出成jar文件

/home/conkeyn/jar/rob_lower.jar

/home/conkeyn/jar/rob_bigger3.jar

4、在hive命令行中添加jar包和创建自定义函数

hive>add jar /home/conkeyn/jar/rob_lower.jar;
hive>create temporary function my_lower as 'org.robby.hive.udf.RobLower';
hive>add jar /home/conkeyn/jar/rob_bigger3.jar;
hive>create temporary function my_lower as 'org.robby.hive.udf.RobBigger3';

5、准备测试数据:

BOB     1
AMY     2
ROBBY   3
STEVEN  4

 6、创建表:

 

drop table if exists tab_test;
create table tab_test(a string,b int) row format delimited fields terminated by '\t';
load data local inpath '/home/conkeyn/jar/tab_test1.txt' overwrite into table tab_test;

 7、测试自定义函数:

 

select * from tab_test where my_bigger3(b);
select my_lower(a) from tab_test;

 8、注意,如果出现创建函数异常、或者查询时出现字段类型对应不上时,需要退出hive环境,再重新进入hive环境。重新进入时使用debug进入

[conkeyn@hadoop bin]$ hive -hiveconf hive.root.logger=DEBUG,console

 

分享到:
评论

相关推荐

    Spark不能使用hive自定义函数.doc

    ### Spark与Hive自定义函数兼容性问题解析 在大数据处理领域,Apache Spark 和 Apache Hive 都是非常重要的工具。Spark 是一种快速通用的大规模数据处理系统,而Hive 则是一种数据仓库工具,主要用于对存储在 ...

    hive自定义函数demo

    本示例“hive自定义函数demo”将探讨如何在Hive中开发和使用自定义函数(UDF),这对于扩展Hive的功能和适应特定业务需求至关重要。下面,我们将深入学习与Hive自定义函数相关的知识。 1. **什么是Hive UDF?** ...

    hive数仓、hive SQL 、 hive自定义函数 、hive参数深入浅出

    3. Hive自定义函数(UDF): - UDF定义:用户可以编写Java代码实现特定功能的函数,然后在Hive SQL中调用。 - UDAF(用户定义的聚合函数):用于处理一组输入值并返回单个值,如自定义平均值、众数等。 - UDTF...

    hive 创建自定义函数 和 hive加载说明

    然而,有时Hive的内置函数并不能满足所有的业务需求,这时我们就需要创建自定义函数(UDF,User Defined Function)。这篇博文主要探讨了如何在Hive中创建自定义函数以及如何加载它们,这对于深化Hive的使用和解决...

    hive自定义UDF编写函数.docx

    本文主要讲解了 Hive 中自定义 UDF 函数的编写方法,包括创建 UDF 类、实现自定义函数逻辑、编译和打包 UDF jar 包、上传至 Hive 服务器并注册自定义函数。 一、创建 UDF 类 为了实现自定义 UDF 函数,需要创建一...

    HIVE自定义UDF函数

    Hive 是一个基于 Hadoop 的数据仓库工具,用于处理大规模数据集。...在 Hive 中创建函数,将自定义函数与 Java 类中的方法关联起来。 步骤五:使用函数 现在,您可以在 Hive 查询中使用您自定义的函数了。

    Hive自定义函数

    【Hive自定义函数】是Hive为了满足用户在处理大数据时遇到的特定业务需求而提供的功能。在Hive的内置函数无法满足这些需求时,用户可以通过编写自定义函数(UDF)进行扩展。UDF全称为User Defined Function,允许...

    Hive的Udf函数进行数据脱敏

    Hive 的 User Defined Functions (UDFs) 是用户自定义函数,允许开发者扩展Hive的功能,以满足特定的数据处理需求。在这个场景中,我们关注的是如何使用UDF进行数据脱敏,特别是对敏感信息进行处理,例如手机号码、...

    自定义hive函数

    Hive 的灵活性之一在于支持用户自定义函数(UDF),包括用户定义的单行函数(UDF)、用户定义的多行函数(UDAF)和用户定义的表函数(UDTF)。这些自定义函数允许开发者扩展Hive的功能,以满足特定的业务需求。 ...

    base64加密解密的hive udf函数

    此外,由于Hive的临时函数作用于当前会话,如果需要在多个会话中使用,可以考虑创建永久函数。 总结,通过自定义Hive UDF,我们可以方便地在Hive中实现Base64的加密和解密功能,从而满足大数据处理中的安全性和灵活...

    hive常用函数

    在本文中,我们将深入探讨Hive的常用函数,包括时间函数、类型转换函数、用户自定义函数(UDF)以及用户自定义聚合函数(UDAF)等。 关系运算符是Hive中的基础函数,用于比较两个值是否相等。例如,A=B用于判断A...

    hive UDF需要jar包

    在Hive中,UDF(User Defined Functions)是用户自定义函数,允许开发人员扩展Hive的内置功能,以满足特定的数据处理需求。Hive UDF的实现通常涉及到编写Java代码,并将其打包成JAR(Java Archive)文件,然后在Hive...

    hive的函数大全.rar

    10. **自定义函数(UDF)**:Hive允许用户编写自己的Java函数并注册为UDF,以处理特定的数据处理需求。这极大地扩展了Hive的功能。 通过深入理解这些函数,用户可以更高效地使用Hive进行大数据处理和分析。在实际...

    一些有用的自定义配置单元udf函数、特殊数组、json、数学、字符串函数。___下载.zip

    这些自定义函数可以是单行或者多行的,它们能够处理Hive内置函数无法满足的业务需求。例如,可能需要一个特殊的日期转换函数,或者一个能处理特定格式字符串的函数。文件`hive-third-functions-master`很可能包含了...

    快速学习-Hive函数

    本篇文章将详细讲解Hive的内置函数和自定义函数,帮助你快速掌握如何利用Hive进行高效的数据处理。 **7.1 系统内置函数** Hive 内置了大量的函数,覆盖了常见的数据处理需求。你可以通过以下命令来查看、了解这些...

    Hive函数及语法说明.docx

    对于需要扩展的函数和语法,Hive 提供了开发规范,指导开发者如何创建自定义函数和语法转换。 #### 扩展函数开发规范 开发自定义函数时,需要遵循特定的接口和编码规范,以确保其能与 Hive 系统无缝集成。 #### ...

    hive常用函数参考手册.docx

    混合函数允许用户通过Java实现自定义函数,例如: 1. **`JAVA_METHOD`**:通过类名和方法名调用Java方法。 2. **`REFLECT`**:反射调用Java方法。 3. **`HASH`**:计算哈希值。 4. **`UDTF`**(User Defined Table ...

    hive-udf(两地址间距离计算+省市区位置解析(Java代码))

    为了满足特定的业务需求,Hive提供了用户定义函数(UDF)的功能,允许用户自定义处理数据的逻辑。在这个“hive-udf”项目中,我们主要探讨的是如何利用Java编写UDF来实现两个地址间的距离计算以及省市区位置的解析。...

    hive函数.docx

    ### Hive函数概述 本文档旨在详细介绍Hive中的各种内置函数及其使用方法,这些内容主要源自Apache官方文档并已翻译成...这些自定义函数的开发使得Hive能够更加灵活地适应不同的数据处理需求,增强了其功能性和实用性。

    hive函数大全.7z

    5. **高级特性**:可能会涉及UDF(用户定义函数)、UDAF(用户定义聚合函数)和UDTF(用户定义表生成函数)的开发和使用,这些允许用户自定义函数来扩展Hive的功能。 6. **性能优化**:如何通过分区、桶、缓存等...

Global site tag (gtag.js) - Google Analytics