I will..that will be great if simple UDF can return complex type. Thanks! On Fri, Jun 5, 2015 at 12:17 AM, Cheng, Hao <hao.ch...@intel.com> wrote: > Confirmed, with latest master, we don't support complex data type for Simple > Hive UDF, do you mind file an issue in jira? > > -----Original Message----- > From: Cheng, Hao [mailto:hao.ch...@intel.com] > Sent: Friday, June 5, 2015 12:35 PM > To: ogoh; user@spark.apache.org > Subject: RE: SparkSQL : using Hive UDF returning Map throws "rror: > scala.MatchError: interface java.util.Map (of class java.lang.Class) > (state=,code=0)" > > Which version of Hive jar are you using? Hive 0.13.1 or Hive 0.12.0? > > -----Original Message----- > From: ogoh [mailto:oke...@gmail.com] > Sent: Friday, June 5, 2015 10:10 AM > To: user@spark.apache.org > Subject: SparkSQL : using Hive UDF returning Map throws "rror: > scala.MatchError: interface java.util.Map (of class java.lang.Class) > (state=,code=0)" > > > Hello, > I tested some custom udf on SparkSql's ThriftServer & Beeline (Spark 1.3.1). > Some udfs work fine (access array parameter and returning int or string type). > But my udf returning map type throws an error: > "Error: scala.MatchError: interface java.util.Map (of class java.lang.Class) > (state=,code=0)" > > I converted the code into Hive's GenericUDF since I worried that using > complex type parameter (array of map) and returning complex type (map) can be > supported in Hive's GenericUDF instead of simple UDF. > But SparkSQL doesn't seem supporting GenericUDF.(error message : Error: > java.lang.IllegalAccessException: Class > org.apache.spark.sql.hive.HiveFunctionWrapper can not access ..). > > Below is my example udf code returning MAP type. > I appreciate any advice. > Thanks > > ------ > > public final class ArrayToMap extends UDF { > > public Map<String,String> evaluate(ArrayList<String> arrayOfString) { > // add code to handle all index problem > > Map<String, String> map = new HashMap<String, String>(); > > int count = 0; > for (String element : arrayOfString) { > map.put(count + "", element); > count++; > > } > return map; > } > } > > > > > > > -- > View this message in context: > http://apache-spark-user-list.1001560.n3.nabble.com/SparkSQL-using-Hive-UDF-returning-Map-throws-rror-scala-MatchError-interface-java-util-Map-of-class--tp23164.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 > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@spark.apache.org > For additional commands, e-mail: user-h...@spark.apache.org >
--------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@spark.apache.org For additional commands, e-mail: user-h...@spark.apache.org