如何在不使用UDF的情况下从猪拉丁语中的字符串中删除非ASCII字符?
A℅♂♀¶【◆】◆℃b刺痛 Ab sting
答案 0 :(得分:1)
你必须像这样创建udf
package pig.udfs;
import java.io.IOException;
import org.apache.pig.EvalFunc;
import org.apache.pig.data.Tuple;
public class NonASCI extends EvalFunc<String> {
public String exec(Tuple v) throws IOException{
String val = (String)v.get(0);
String non_asci = val.replaceAll("[^\\x20-\\x7e]", "");
return non_asci;
}
}
希望他会帮助你!!
答案 1 :(得分:0)
我没有尝试过,但您可以使用regex that matches non-ASCII字符+猪REPLACE内置函数。
E.g。
stripped = foreach dirty_data generate REPLACE(dirty_data.string_field, '[^u0000-u007F]+', '');