0
我正在收敛一个猪脚本来使用scala来激发1.6,我有一个包含字符串的数据框,并且我想以特定顺序交换字符。
例如:字符串排列火花udf
+----------------+
| Info|
+----------------+
|8106f510000dc502|
+----------------+
我想把它转换成这样的顺序[3,1,5,7,6,(8-16),4,2]
+----------------+
| Info|
+----------------+
|08f150000dc50241|
+----------------+
这是我的用UDF的生猪UDF和它的工作:
public class NormalizeLocInfo extends EvalFunc<String>
{
public String exec(Tuple input) throws IOException {
if (input == null || input.size() == 0)
return null;
try{
char [] ca = ((String)input.get(0)).toCharArray();
return (
new StringBuilder().append(ca[3]).append(ca[0]).append(ca[5]).append(ca[7]).append(ca[6]).append(ca[8]).append(ca[9]).append(ca[10])
.append(ca[11]).append(ca[12]).append(ca[13]).append(ca[14]).append(ca[15]).append(ca[16]).append(ca[4]).toString().toUpperCase()
);
}catch(Exception e){throw new IOException("UDF:Caught exception processing input row :"+input.get(0), e);}
}
}
我怎么能改变它来使用scala来激发udf? 感谢欧
你好;我的程序无法识别'import scala.util。{Try,Success,Failure}'而未找到值试试;谢谢 –
您是否尝试导入导入scala.util。{失败,成功,尝试}并尝试不尝试 –
谢谢@Shankar您的回答和时间;当我使用你的代码时,我得到了一个空列。你可否向我解释你的方法,以及为什么我得到一个空栏。谢谢 –