我想创建一个像;
这样的函数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文件。 我完全没有想法,想知道为什么我会面临这个错误。
干杯,
答案 0 :(得分:0)
我自己找到了答案, 我必须使用所有类来编译jar文件,而不仅仅是我将要使用的类。
答案 1 :(得分:0)
在运行查询时使用设置内的函数时,我遇到了同样的问题,结果发现那里有一个隐藏的空间。在输入函数的类路径时,请确保没有前导或尾随空格。
答案 2 :(得分:-2)
在构建jar之前,您必须编译<class name>.java
文件。从它出来
编译
javac <class name.java>
从中构建一个罐子
jar cvf <jar_fileName>.jar <class_name>.class