是否可以配置Hive的UDF?

时间:2014-01-21 16:14:11

标签: hive

我从自定义Hive的UDF访问外部资源(数据库)的内容是什么,将凭据传递给UDF的最佳方法是什么?

我尝试通过SET设置属性:

SET my.udf.credentials=...;
SELECT myUdf(someColumn) FROM someTable;

并在GenericUDAFEvaluator的init方法中通过HiveConf访问它们,但它不起作用。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

我希望你使用的是Hive-0.11。

GenericUDAFEvaluator类的方法为configure(MapredContext)。 引用一位伟人:

  

此外,使用MapredContext设置GenericUDAFEvaluator   初始化。这只在MapRedTask的运行时调用。

MapredContext类的方法为getJobConf

JobConf类的方法为get

全部放在一起:

public void configure(MapredContext mapredContext) {
  String credentials = mapredContext.getJobConf().get("my.udf.credentials");
}