hive在查询的时候 需要输入一行返回多行的时候,就需要写自定义UDTF函数了。
例如实现下面的功能:Line:"spark,hive,hadoop,hdfs,flink"
Strsplit(line, “,”)
返回如下:
spark
hive
hadoop
hdfs
flink
添加pom依赖
org.apache.hive
hive-exec
1.2.1

代码如下:
package hivefunction.cn;
import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDTF;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory;
import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspect

本文详细介绍了如何编写一个名为Strsplit的Hive自定义UDTF函数,从添加POM依赖,编写Java代码,到Maven打包,将jar文件上传到集群,添加到Hive的classpath,创建并使用该函数。通过这个过程,读者可以了解到自定义Hive函数的完整流程。
最低0.47元/天 解锁文章
311

被折叠的 条评论
为什么被折叠?



