簡體   English   中英

SemanticException [錯誤10014] Hive UDF

[英]SemanticException [Error 10014] Hive UDF

我正在使用apache配置單元和Eclipse中創建的UDF函數。 因此,當我在sql查詢中調用該函數時,我看到此錯誤:

失敗:SemanticException [錯誤10014]:行1:7錯誤的參數“摘要”:類HiveUDF.TokenizeString沒有(字符串)的匹配方法。 可能的選擇:

問題出在哪兒?

UDF類

package HiveUDF;
public class TokenizeString extends UDF {

public List<String> tokenize (Text text) {
    List<String> prova = new ArrayList<String>();
    if(text == null)
        return null;
    String[] words = text.toString().split("\\n");
    for (String w : words)
        prova.add(w);
    return prova;
}

}

SQL表和查詢

id                      bigint                                      
productid               string                                      
userid                  string                                      
profilename             string                                      
helpfulnessnumerator    int                                         
helpfulnessdenominator  int                                         
score                   float                                       
time                    int                                         
summary                 string                                      
text                    string

CREATE TEMPORARY FUNCTION tokenize_summary as 'HiveUDF.TokenizeString';

select tokenize_summary(summary) from amazonproduct;

擴展UDF類時,必須重寫validate(-)方法。

package HiveUDF;
public class TokenizeString extends UDF {
public List<String> evaulate (Text text) {
    List<String> prova = new ArrayList<String>();
    if(text == null)
        return null;
    String[] words = text.toString().split("\\n");
    for (String w : words)
        prova.add(w);
    return prova;
}
}

嘗試這個 ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM