package com.livingsocial.hive.udf; import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoop.hive.ql.exec.Description; import org.apache.hadoop.io.Text; import java.net.URLDecoder; @Description( name = "urldecode", value = "_FUNC_(str) - Returns urldecoded string", extended = "Example:\n" + " > SELECT urldecode(url_refer) FROM visits a;\n" + " http://www.livingsocial.com/Buy Now" ) public class URLDecode extends UDF { public Text evaluate(Text s) { Text to_value = null; if(s != null) { try { to_value.set(URLDecoder.decode(s.toString(), "UTF-8")); } catch (Exception e) { to_value = new Text(s); }; } return to_value; } }