2016-04-28 127 views
0

我創建了一個UDF並將該jar導出爲abc.jar。在Hive中添加JAR時出現錯誤:「查詢返回的非零代碼:1,原因:/user/hive/warehouse/abc.jar不存在。」

在/ user/hive/warehouse的hdfs中複製了jar。

現在,我得到以下錯誤:

hive> ADD JAR /user/hive/warehouse/abc.jar; 
/user/hive/warehouse/abc.jar does not exist 
Query returned non-zero code: 1, cause: /user/hive/warehouse/abc.jar does not exist. 
hive> 

當我這樣做,hadoop fs -ls /user/hive,我可以在/用戶/蜂巢/倉庫路徑看abc.jar

我在哪裏做錯了,這是什麼解決方案?

+0

地點的本地文件系統上的UDF罐子蜂房客戶端機器並給ADD JAR命令 –

回答

1

當您從HDFS添加罐子使用下面的語句:

ADD jar hdfs://namenode/user/hive/warehouse/abc.jar; 

你不通知你添加從HDFS的罐子。這是你錯誤的原因。

希望幫助

+0

感謝罐子的絕對本地路徑。它的工作 – earl

0

他們的方式,你提的路徑,它看起來在本地文件系統中的文件。
要麼將​​它放在這裏,或使用HDFS://這樣

hive> ADD JAR /user/hive/warehouse/abc.jar => local filesystem 
hive> ADD JAR hdfs://namenodei/user/hive/warehouse/abc.jar => In hdfs 
+0

謝謝。它使用 – earl

0

上述選項的有效期僅爲當前會話。所以每次你需要寫ADD JAR。 爲了永久添加它,推薦的方法如下。

  1. 添加在蜂房的site.xml

    <property> <name>hive.aux.jars.path</name> <value>file://localpath/yourjar.jar</value> </property>

  2. 複製和JAR文件粘貼到文件夾${HIVE_HOME}/auxlib/

+0

響應的方式並不旨在回答OP的問題。 – SrinivasR

相關問題