2016-11-28 103 views
0

这里我已经在java中编写了一个简单的替换字UDF。
然后我已经导出.java文件并创建了jar文件。Hive UDF运行:在配置单元中创建临时函数时出错

同创建jar文件在蜂巢中添加使用

Add jar jar file path ;

然后我试图创建蜂巢临时功能,但得到以下错误

create temporary function functionname as 'javaprogrampkgname.javaprogramname.'; 

但对于这个我得到下面的错误上终端:

FAILED:执行错误,返回码-101来回m org.apache.hadoop.hive.ql.exec.FunctionTask。 ReplaceUDFpkg/ReplaceUDF :不支持MAJOR.MINOR版本52.0

+1

看起来像java版本不匹配。检查编译和运行时java是相同的 –

+0

可能重复的[Unsupported major.minor版本52.0](http://stackoverflow.com/questions/22489398/unsupported-major-minor-version-52-0) –

+0

@Nimal Ram先生, Java编译和运行时版本相同:都是java版本“1.7.0_80” javac 1.7.0_80 –

回答

0

这应该是你在哪里创建UDF和您的蜂巢的Java版本的地方你不同的Java版本的错误。

0

终于找到了这个错误的原因。

是的,这个错误是由于Java版本不匹配,但为:

我已经写,编译和在eclipse导出为JAR,然后这个出口JAR试图用不同版本的Java使用,这里由于版本JVM无法调用并找到此JAR不匹配。

我已经通过编译我的java代码并在为我的Hadoop主路径设置的“1.7”版本中创建JAR来解决了这个问题。