2017-01-24 49 views
0
擴展

UDF添加以下的依賴不能在我的Java類

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
import org.apache.hadoop.hive.ql.exec.UDF; 

您需要該行。如果不可用,那麼您的依賴關係錯誤,或者尚未下載源代碼。

注意:hive-exec是正確的依賴關係(其中包括hive-commonhadoop-common本身),所以很可能是Maven未下載源代碼。

運行一個Maven clean,然後compile任務得到它們。

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; 

一旦你在項目導入你的依賴條件,它會自動尋找類。