Looks like BigDecimal was passed to your call() method. Can you modify your udf to see if using BigDecimal works ?
Cheers On Wed, Jan 13, 2016 at 11:58 AM, raghukiran <raghuki...@gmail.com> wrote: > While registering and using SQL UDFs, I am running into the following > problem: > > UDF registered: > > ctx.udf().register("Test", new UDF1<Double, String>() { > /** > * > */ > private static final long serialVersionUID = > -8231917155671435931L; > > public String call(Double x) throws Exception { > return "testing"; > } > }, DataTypes.StringType); > > Usage: > query = "SELECT Test(82.4)"; > result = sqlCtx.sql(query).first(); > System.out.println(result.toString()); > > Problem: Class Cast exception thrown > Caused by: java.lang.ClassCastException: java.math.BigDecimal cannot be > cast > to java.lang.Double > > This problem occurs with Spark v1.5.2 and 1.6.0. > > > > -- > View this message in context: > http://apache-spark-user-list.1001560.n3.nabble.com/SQL-UDF-problem-with-re-to-types-tp25968.html > Sent from the Apache Spark User List mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@spark.apache.org > For additional commands, e-mail: user-h...@spark.apache.org > >