0

我想创建一个类似的功能;

CREATE TEMPORARY FUNCTION func AS 'pathTo/TrackToCsvExtractor';

这是添加jar文件的返回信息。

Added /mnt/var/lib/hive_0110/downloaded_resources/TrackToCsvExtractor.jar to class path
Added resource: /mnt/var/lib/hive_0110/downloaded_resources/TrackToCsvExtractor.jar

而且,我面临一个错误

FAILED: Class pathTo/TrackToCsvExtractor not found
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.FunctionTask

所有的类文件都是正确的,尽管我一直在添加 jar 文件并且每当我这样做时

list jars;

它确实列出了我添加的 jar 文件。我完全没有想法,想知道为什么我会遇到这个错误。

干杯,

4

3 回答 3

0

我自己找到了答案,我必须用所有的类等编译 jar 文件,而不仅仅是我要使用的类。

于 2013-11-19T12:01:08.260 回答
0

我在运行查询时使用设置中的函数时遇到了同样的问题,结果发现有一个隐藏空间。键入函数的类路径时,请确保没有前导或尾随空格。

于 2020-09-11T08:56:51.960 回答
-2

您必须<class name>.java在构建 jar 之前编译该文件。摆脱它

编译

javac <class name.java>

用它做一个罐子

jar cvf <jar_fileName>.jar <class_name>.class 
于 2018-02-14T07:32:20.510 回答