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.StructObjectInspector;
import org.apach