Python全系列 教程
3567个小节阅读:5929.7k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
https://cwiki.apache.org/confluence/display/Hive/HivePlugins
自定义函数包括三种UDF、UDAF、UDTF
使用方式 :在HIVE会话中add 自定义函数的jar文件,然后创建function继而使用函数
开发步骤:
创建maven项目,添加hive依赖
创建类继承XXX类,并实现相关方法
xxxxxxxxxx
package com.example.hive.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
public final class Lower extends UDF {
public Text evaluate(final Text s) {
if (s == null) { return null; }
return new Text(s.toString().toLowerCase());
}
}
将项目打成jar,上传到Linux服务器(node4)[并从服务器上传到hdfs文件系统的某目录下]
将jar包添加hive的classpath上(未上传到hdfs文件系统中的版本)
xxxxxxxxxx
hive>add jar /xxx/xx.jar
使用命令创建函数
xxxxxxxxxx
create function [db_name.]function_name as class_name
[using jar|file|archive 'file_uri' [, jar|file|archive 'file_uri'] ];
实例:
jar未上传到hdfs文件系统中的版本,需要4步:
xxxxxxxxxx
create temporary function my_lower as 'com.example.hive.udf.Lower';
jar上传到hdfs文件系统中的版本,不需要4步:
xxxxxxxxxx
create temporary function my_lower as 'com.example.hive.udf.Lower' using /hdfspath/xxx.jar;
在select语句中使用
xxxxxxxxxx
select my_lower(ename) from emp;