2
我有以下方法轉換爲文本
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;
public class IpConversion extends UDF{
private Text result = new Text();
static int power = 0;
public Text evaluate(String input){
if(input != null){
long res = 0;
String [] ipAddressInArray = input.split("\\.");
for(int i=ipAddressInArray.length-1; i>= 0; i--){
long ip = Integer.parseInt(ipAddressInArray[i]);
res += ip * Math.pow(256, power);
power += 1;
//System.out.println(ipAddressInArray(i));
}
return result;
}
//return null;
}
}
我想變res
從long
轉換爲Text
(org.apache.hadoop.io.Text
),但我不知道該怎麼做。我試圖從long
toString()
轉換它,然後使用Text
類的方法.set()
,但我有一個錯誤「無法返回無效」。
任何人都可以幫我嗎? 謝謝。
嗯,我看不到你在評估方法的任何地方設置結果字段?這可能會導致我認爲的問題 –
如果其中一個答案幫助您解決了問題,那麼如果您能夠「接受」答案,以便其他人可以快速找到解決方案,那將會很好。 – GameDroids