在Hive中添加JAR会出现错误,因为" Query返回非零代码:1,原因:/user/hive/warehouse/abc.jar不存在。"

时间:2016-04-28 08:23:43

标签: hadoop hive hive-udf

我创建了一个UDF并将jar导出为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,我可以在 / user / hive / warehouse 路径上看到 abc.jar

我在哪里做错了,解决方法是什么?

3 个答案:

答案 0 :(得分:1)

从hdfs添加jar时,请使用以下语句:

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

您没有通知您正在从hdfs添加jar。这是导致错误的原因。

希望有所帮助

答案 1 :(得分:1)

方式,你提到路径,它将在本地文件系统中查看文件 要么把它放在那里,要么像这样使用 hdfs://

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

答案 2 :(得分:0)

以上选项仅对当前会话有效。所以每次你需要写ADD JAR。 为了永久添加它,建议的方法如下。

  1. 在hive-site.xml中添加

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

  2. 将JAR文件复制并粘贴到${HIVE_HOME}/auxlib/文件夹