Java 执行错误,从org.apache.hadoop.hive.ql.exec.FunctionTask返回代码1
我想创建一个函数像Java 执行错误,从org.apache.hadoop.hive.ql.exec.FunctionTask返回代码1,java,hadoop,amazon-web-services,hive,Java,Hadoop,Amazon Web Services,Hive,我想创建一个函数像 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/TrackToCsvEx
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文件,但每当我添加jar文件时
list jars;
它确实列出了我添加的jar文件。
我完全没有想法,不知道为什么我要面对这个错误
干杯,我自己找到了答案,
我必须用所有的类来编译jar文件,等等,而不仅仅是我要使用的类。在构建jar之前,你必须编译
.java
文件。摆脱它
jar cvf <jar_fileName>.jar <class_name>.class
编撰
javac <class name.java>
javac
用它做一个罐子
jar cvf <jar_fileName>.jar <class_name>.class
jar cvf.jar.class
我在运行查询时使用“设置内部”功能时遇到了相同的问题,结果发现存在隐藏空间。键入函数的类路径时,请确保没有前导空格或尾随空格。u不能直接否决我的答案,我只是改进了答案,并以适当的方式进行了回答,因此它很容易理解,对每个人都有帮助@Ducaz035