2014-01-21 107 views
1

我該如何從定製Hive的UDF訪問外部資源(數據庫),將憑據傳遞給UDF的最佳方式是什麼?是否可以配置Hive的UDF?

我試圖通過設置來設置屬性:

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

,並通過HiveConf訪問它們在GenericUDAFEvaluator的init方法,但它不能正常工作。有什麼建議麼?

回答

3

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

GenericUDAFEvaluator班有方法configure(MapredContext)。前 初始化

另外設置GenericUDAFEvaluator與MapredContext: 引述一個偉大的人。這隻在MapRedTask的運行時調用。

MapredContext班有方法getJobConf

JobConf class has the method get

全部放在一起:

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