2016-08-24 178 views
0

我期待到帕拉/蜂巢UDF的例子,例如:蜂巢/因帕拉UDF與字符串輸入/輸出

public class FuzzyEqualsUdf extends UDF { 
    public FuzzyEqualsUdf() { 
    } 

    public BooleanWritable evaluate(DoubleWritable x, DoubleWritable y) { 
     double EPSILON = 0.000001f; 
     if (x == null || y == null) 
      return null; 
     return new BooleanWritable(Math.abs(x.get() - y.get()) < EPSILON); 
    } 
} 

然後我試圖創建自己的UDF,它有字符串作爲輸入和字符串作爲輸出。理想情況下,它應該看起來像:

public class MyUdf extends UDF { 
    public MyUdf() { 
    } 

    public StringWritable evaluate(StringWritable x) { 
     String[] y = x.split(","); 
     String z = y[0] + "|" + y[1] 
     return new StringWritable(z); 
    } 
} 

不過,我的問題是有沒有StringWritable一流!我只看到:

import org.apache.hadoop.hive.serde2.io.ByteWritable; 
import org.apache.hadoop.hive.serde2.io.DoubleWritable; 
import org.apache.hadoop.hive.serde2.io.ShortWritable; 
import org.apache.hadoop.hive.serde2.io.TimestampWritable; 

我如何用字符串類型的輸入/輸出UDF不StringWritable類?謝謝!

回答