Hive UDF开发流程到调用

简介: Hive UDF开发流程到调用

--udf开发

--1.java开发环境(jdk,maven)

--2.配置maven依赖,比如hive或者flink库等

https://mvnrepository.com/search?q=Maven

**<?xmlversion="1.0" encoding="UTF-8"?>**<projectxmlns="http://maven.apache.org/POM/4.0.0"**xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"**xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">**    <modelVersion>4.0.0</modelVersion>**
**    <groupId>org.example</groupId>**    <artifactId>hive</artifactId>**    <version>1.0-SNAPSHOT</version>**
**    <dependencies><!-- https://mvnrepository.com/artifact/org.apache.hive/hive-exec -->**        <dependency>**            <groupId>org.apache.hive</groupId>**            <artifactId>hive-exec</artifactId>**            <version>3.1.1</version>**        </dependency><!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common -->**        <dependency>**            <groupId>org.apache.hadoop</groupId>**            <artifactId>hadoop-common</artifactId>**            <version>3.1.1</version>**        </dependency>**    </dependencies>**    <build>**        <plugins>**            <plugin>**                <groupId>org.apache.maven.plugins</groupId>**                <artifactId>maven-compiler-plugin</artifactId>**                <version>3.0</version>**                <configuration>**                    <source>1.8</source>**                    <target>1.8</target>**                    <encoding>UTF-8</encoding>**                </configuration>**            </plugin>**            <plugin>**                <artifactId>maven-assembly-plugin</artifactId>**                <configuration>**                    <appendAssemblyId>false</appendAssemblyId>**                    <descriptorRefs>**                        <descriptorRef>jar-with-dependencies</descriptorRef>**                    </descriptorRefs>**                    <archive>**                        <manifest>**                            <!-- 此处指定main方法入口的class -->**                            <mainClass>UDF_Lower</mainClass>**                        </manifest>**                    </archive>**                </configuration>**                <executions>**                    <execution>**                        <id>make-assembly</id>**                        <phase>package</phase>**                        <goals>**                            <goal>assembly</goal>**                        </goals>**                    </execution>**                </executions>**
**            </plugin>**
**        </plugins>**    </build>**
**</project>

--3.本机开发代码,并测试:

例子:https://blog.csdn.net/qq_15783243/article/details/83654713

packagehive;
importorg.apache.hadoop.hive.ql.exec.UDF;
publicclassUDF_LowerextendsUDF {
publicStringevaluate(finalStrings){
if(s==null){
returnnull;
        }
returns.toLowerCase();
    }
}

--4.maven打包上传

通过Maven打成jar包:clean--》package

maven各种打包方案总结:

https://www.cnblogs.com/swordfall/p/11359370.html

https://blog.csdn.net/dyq51/article/details/81356894

--5.注册函数,调用:

add jar hdfs://test-cluster//tmp/udf/01394546/38040/1000/hive-1.0-SNAPSHOT.jar;create temporary function udf_lower as'hive.UDF_Lower';select udf_lower('FGGRFRD')
目录
相关文章
|
7月前
|
SQL 存储 Java
Hive UDF UDTF UDAF 自定义函数详解
Hive UDF UDTF UDAF 自定义函数详解
150 2
Hive UDF UDTF UDAF 自定义函数详解
|
7月前
|
SQL 缓存 Java
Hive 之 UDF 运用(包会的)
Hive的UDF允许用户自定义数据处理函数,扩展其功能。`reflect()`函数通过Java反射调用JDK中的方法,如静态或实例方法。例如,调用`MathUtils.addNumbers()`进行加法运算。要创建自定义UDF,可以继承`GenericUDF`,实现`initialize`、`evaluate`和`getDisplayString`方法。在`initialize`中检查参数类型,在`evaluate`中执行业务逻辑。最后,打包项目成JAR,上传到HDFS,并在Hive中注册以供使用。
243 2
|
7月前
|
SQL Java 程序员
Hive反射函数的使用-程序员是怎么学UDF函数的
Hive反射函数的使用-程序员是怎么学UDF函数的
46 0
|
7月前
|
SQL Java 数据处理
【Hive】Hive的函数:UDF、UDAF、UDTF的区别?
【4月更文挑战第17天】【Hive】Hive的函数:UDF、UDAF、UDTF的区别?
|
7月前
|
SQL 消息中间件 Apache
Flink报错问题之使用hive udf函数报错如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
|
7月前
|
SQL 分布式计算 Java
Hive自定义函数UDF编写
Hive自定义函数UDF编写
91 2
|
7月前
|
SQL 搜索推荐 Java
Hive中的UDF是什么?请解释其作用和使用方法。
Hive中的UDF是什么?请解释其作用和使用方法。
102 0
|
SQL 分布式计算 Java
阿里云MaxCompute-Hive UDF(Java)迁移上云实践
阿里云MaxCompute-Hive UDF(Java)迁移上云实践
|
SQL 分布式计算 Java
浅析 hive udf 的正确编写和使用方式- 论姿势的重要性 - 系列三 - hdfs 相对路径与静态代码块引起的问题
浅析 hive udf 的正确编写和使用方式- 论姿势的重要性 - 系列三 - hdfs 相对路径与静态代码块引起的问题
|
SQL 分布式计算 Java
如何在 hive udf 中访问配置数据-踩坑记录,方案汇总与对比-udf中可以写sql吗?
如何在 hive udf 中访问配置数据-踩坑记录,方案汇总与对比-udf中可以写sql吗?