Я ищу в примеры Impala/Hive UDF и т.д .:Hive/Impala 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 класса? Благодаря!