我添加了以下依赖项
Group id: org.apache.hive
Artifact id:hive-common
version:2.1.1
和
Group id: org.apache.hive
Artifact id:hive-exec
version:2.1.1
在我的pom.xml依赖文件中。
我保存了它并没有给我任何错误 我创建了一个Java classA
public class A extends UDF{
//
}
但我的Eclipse不识别UDF并且不导入所需的包,而是要求我创建一个UDF类。
知道为什么会这样吗?
答案 0 :(得分:0)
import org.apache.hadoop.hive.ql.exec.UDF;
你需要那条线。如果这不可用,则您具有错误的依赖关系,或者尚未下载源。
注意:hive-exec
是正确的依赖项(包括hive-common
和hadoop-common
本身),因此Maven可能尚未下载您的来源。
运行Maven clean
,然后运行compile
任务以获取它们。
答案 1 :(得分:0)
请在您的pom.xml中添加以下依赖项。
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>${hive.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>${hadoop.version}</version>
</dependency>
</dependencies>
之后确保它在maven dependecies jar文件夹中可用。
从下面的包和类导入UDF类:
import org.apache.hadoop.hive.ql.exec.UDF;
在项目中导入您的dependecies后,它将自动查找类。