Hive 配置单元Udf异常

Hive 配置单元Udf异常,hive,Hive,我有一个简单的蜂巢UDF: package com.matthewrathbone.example; 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',

我有一个简单的蜂巢UDF:

package com.matthewrathbone.example;
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());
  }
}
使用select query执行时: 从tests3atable limit 10中选择helloUdf(方法); 方法是tests3atable表中列的名称

我得到以下例外:
失败:SemanticException[错误10014]:行1:7错误参数“方法”:无法实例化UDF实现类com.matthewrathbone.example.SimpleUDFExample:java.lang.IllegalAccessException:class org.apache.hadoop.hive.ql.UDF.generic.GenericUDFBridge无法使用修饰符访问com.matthewrathbone.example.SimpleUDFExample类的成员“”

声明该类为公共类,它应该可以工作

我也有同样的问题。事实证明,eclipse并没有刷新我修改的程序。因此,请确保您在代码中所做的修改反映在jar中