koert kuipers created SPARK-17668: ------------------------------------- Summary: Support case classes and tuples to represent structs in spark sql udfs Key: SPARK-17668 URL: https://issues.apache.org/jira/browse/SPARK-17668 Project: Spark Issue Type: New Feature Components: SQL Affects Versions: 2.0.0 Reporter: koert kuipers Priority: Minor
after having gotten used to have case classes represent complex structures in Datasets, i am surprised to find out that when i work in DataFrames with udfs no such magic exists, and i have to fall back to manipulating Row objects, which is error prone and somewhat ugly. for example: {noformat} case class Person(name: String, age: Int) val df = Seq((Person("john", 33), 5), (Person("mike", 30), 6)).toDF("person", "id") val df1 = df.withColumn("person", udf({ (p: Person) => p.copy(age = p.age + 1) }).apply(col("person"))) df1.printSchema df1.show {noformat} leads to: {noformat} java.lang.ClassCastException: org.apache.spark.sql.catalyst.expressions.GenericRowWithSchema cannot be cast to Person {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org