在 Hive 中添加 JAR 会给出错误"Query returned non-zero code: 1, cause: /user/hive/warehouse/abc.jar does not e



我创建了一个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

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

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

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

没有通知您正在从 HDFS 添加 JAR。这就是您错误的原因。

希望有帮助

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

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

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

  1. 添加配置单元站点.xml

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

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

相关内容

  • 没有找到相关文章

最新更新