2016-11-28 108 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來解決了這個問題。