我正在使用 Spark 1.5.0,从我的 rdd 创建数据帧时遇到问题。
这是代码:
case class MyC (myclass: MyClass)
val df = rdd.map {t => MyC(t)}.toDF("cust")
df.show()
这是错误消息:
Exception in thread "main" java.lang.UnsupportedOperationException: Schema for type MyClass is not supported
对此的任何帮助将不胜感激。
请您参考如下方法:
Spark 使用反射来推断数据帧模式,但不能对任意类这样做。我不确定我是否能比 Spark 文档更好地陈述答案,而且 there's a section dedicated to exactly this .
具体来说,问题在于 Spark 可以推断模式的类型数量有限。整数、字符串、序列/数组都受支持(以及包含这些类型元素的 case 类),但任意类 MyClass
不是。