2015-12-03 46 views
1

我試圖定義我的UDF豬 時有一個錯誤,這是我的豬腳本:豬錯誤2998:未處理的內部錯誤(錯誤的名稱MY_CLASS_NAME)

REGISTER 'hdfs://localhost:54310/folder/myudf.jar'; 
DEFINE MYUD myudf.REDECODE(); 

當我執行第二行我得到這個錯誤信息

ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2998: Unhandled internal 
error. myudf/REDECODE (wrong name: REDECODE) 

我的UDF功能:

import java.io.IOException; 
import java.util.regex.Pattern; 
import org.apache.pig.EvalFunc; 
import org.apache.pig.data.Tuple; 

import org.apache.pig.PigWarning; 
import org.apache.pig.data.DataType; 
import org.apache.pig.impl.util.WrappedIOException; 
import org.apache.pig.impl.logicalLayer.schema.Schema; 

public class REDECODE extends EvalFunc<String> { 

... 

} 

如有你可以幫我解決這個問題。

+0

包內myudf中是否有REDECODE類?我沒有看到UDF類中的包聲明語句。 –

+0

我不在我的課程中使用包 –

+1

在這種情況下,您必須修改DEFINE語句爲:DEFINE MYUD REDECODE();我不覺得需要這個DEFINE語句,你可以直接使用REDECODE() –

回答

2

根據@Badr註釋,REDECODE類在默認包中定義,我們可以直接在腳本中使用REDECODE,或者如果我們需要REDECODE的簡單別名,那麼我們可以使用DEFINE並定義一個別名並使用別名前鋒。

相關問題