0
使用UDF
我已經寫了一個樣本UDF在蜂巢從表TRIM的字符串:創建,添加和蜂巢
package anoop;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
public class DataTrim extends UDF{
String trimmed;
public Text trim(Text incomingData){
trimmed= incomingData.toString().trim();
return new Text(trimmed);
}
}
我創建了一個罐子對於這種「trim_string.jar」並將其保存到配置單元庫文件夾。 現在我跑了以下內容:
add jar '~/hive-1.2.1/lib/trim_string.jar'; (success)
現在我運行
create temporary function trimmed1 as 'anoop.DataTrim';
但我得到以下錯誤:
FAILED: Class anoop.DataTrim does not implement UDF, GenericUDF, or UDAF
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.FunctionTask
可以請一些幫助?提前致謝!
嗨, 我試着用上面的代碼,但現在我得到錯誤: 失敗:SemanticException [錯誤10014]:第1行:7周錯誤的論點「preciptotal ':沒有與(字符串)類anoop.DataTrim匹配的方法。可能的選擇:.......................... 我使用的命令是:從小時數限制10中選擇trimmed1(skyconds); trimmed1是創建的臨時函數。 請幫忙。 –
嗨。似乎我沒有正確創建JAR。我使用上面的代碼重新創建了它。現在完美。非常感謝幫助! –