无法在java类中扩展udf

cunj1qz1  于 2021-06-27  发布在  Hive
关注(0)|答案(2)|浏览(365)

我添加了以下依赖项

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类

public class A extends UDF{

    //
}

但是我的eclipse没有标识udf,也没有导入所需的包,而是要求我创建一个udf类。
知道为什么会这样吗?

j2cgzkjk

j2cgzkjk1#

import org.apache.hadoop.hive.ql.exec.UDF;

你需要那条线。如果这是不可用的,你有错误的依赖关系,或者只是没有下载源代码。
注: hive-exec 是正确的依赖关系(包括 hive-common 以及 hadoop-common 所以maven可能没有下载你的源代码。
经营一家专业公司 clean ,那么 compile 获取它们的任务。

aoyhnmkz

aoyhnmkz2#

请在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;

在项目中导入依赖项后,它将自动查找类。

相关问题