Apache Pig - Hadoop Pig:URLDecoder:转义模式中的非法十六进制字符 (%)



我正在使用 pig 解码 clicksteam 事件,并在遇到字符串"(%)"时遇到错误。

这是我的错误消息,发生在下面的 STORE 语句之后:

Caused by: java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "u2"
at java.net.URLDecoder.decode(URLDecoder.java:192)

这是我的代码:

DEFINE UrlDecode InvokeForString('java.net.URLDecoder.decode', 'String String'); 
decoded_strings = FOREACH c GENERATE session_id, event_id
,LOWER(term) as search_term
,UrlDecode(facets, 'UTF-8') as encoded:chararray
,day;
STORE decoded_strings INTO 'database.table' using org.apache.hive.hcatalog.pig.HCatStorer();

我在运行 UrlDecode 之前解决了这个问题,我使用了以下 pig 代码:

REPLACE(facets, 'u2', '') as facets

最新更新