我是为 hive 编写自定义 udf 的新手。我已经尝试成功地为 toupper 函数编写自定义 udf。
import org.apache.hadoop.hive.ql.exec.Description;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
@Description(
name="SimpleUDFExample",
value="returns 'hello x', where x is whatever you give it (STRING)",
extended="SELECT simpleudfexample('world') from foo limit 1;"
)
class SimpleUDFExample extends UDF {
public Text evaluate(Text input) {
if(input == null) return null;
return new Text("Hello " + input.toString());
}
}
我必须根据不同的输入参数编写不同的评估实现。
我的查询是 - 我如何在一个类中编写多个评估方法。我需要为不同的方法编写不同的类吗?如果我在单个类中编写这些覆盖的方法,那么 Hive 将如何在包含相同类型参数的不同方法之间有所不同。
请指导我正确的方法。