Wednesday, November 16, 2016

Creating Hive UDF and Using it


Create class and extend UDF

package com;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.io.BooleanWritable;
import org.apache.hadoop.io.Text;

public class TestUDF extends UDF {

public TestUDF(){
}
 public Text evaluate(Text str)  {
     return new Text(str.toString().toUpperCase());
 }
}


1. Create jar
jar cvf test.jar com/TestUDF.class
2. move jar to hdfs
hdfs dfs -put /home/cloudera/workspace/training/test.jar /user/hive/udf/.
hdfs dfs -chmod 777  /user/hive/udf/test.jar
3. create UDF
create function my_upper2(string) returns string location '/user/hive/udf/test.jar' symbol='com.TestUDF';
4. use UDF
select my_upper2(name) from table1

No comments: