java.lang.UnsupportedOperationException: Schema for type Any is not supported
at org.apache.spark.sql.catalyst.ScalaReflection$$anonfun$schemaFor$1.apply(ScalaReflection.scala:780)
at org.apache.spark.sql.catalyst.ScalaReflection$$anonfun$schemaFor$1.apply(ScalaReflection.scala:715)
at scala.reflect.internal.tpe.TypeConstraints$UndoLog.undo(TypeConstraints.scala:56)
at org.apache.spark.sql.catalyst.ScalaReflection$class.cleanUpReflectionObjects(ScalaReflection.scala:824)
at org.apache.spark.sql.catalyst.ScalaReflection$.cleanUpReflectionObjects(ScalaReflection.scala:39)
at org.apache.spark.sql.catalyst.ScalaReflection$.schemaFor(ScalaReflection.scala:714)
at org.apache.spark.sql.catalyst.ScalaReflection$.schemaFor(ScalaReflection.scala:711)
at org.apache.spark.sql.functions$.udf(functions.scala:3430)
at com.bdt.doep.dhe.dipc.synss.SynssMaster.insertFuseDb(SynssMaster.scala:866)
at com.bdt.doep.dhe.dipc.synss.SynssMaster.merge(SynssMaster.scala:228)
at com.bdt.doep.dhe.dipc.synss.SynssEngine$$anonfun$run$1.apply(SynssEngine.scala:76)
at com.bdt.doep.dhe.dipc.synss.SynssEngine$$anonfun$run$1.apply(SynssEngine.scala:73)
at scala.collection.immutable.List.foreach(List.scala:381)
at com.bdt.doep.dhe.dipc.synss.SynssEngine.run(SynssEngine.scala:73)
at com.bdt.doep.dhe.dipc.synss.SynssEngine$.main(SynssEngine.scala:116)
at com.bdt.doep.dhe.dipc.synss.SynssEngine.main(SynssEngine.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$4.run(ApplicationMaster.scala:721)
scala中报这个错,多数是一个方法中,返回值类型有多个,spark自定义函数,报这个错,也是类似的错。把返回值类型更改为一样即可。