我正在使用Spark 1.5.0,我在从rdd。
创建数据框时遇到了问题以下是代码:
case class MyC (myclass: MyClass)
val df = rdd.map {t => MyC(t)}.toDF("cust")
df.show()
以下是错误消息:
线程“main”中的异常java.lang.UnsupportedOperationException: 不支持MyClass类型的模式
对此的任何帮助将不胜感激。
答案 0 :(得分:1)
Spark使用反射来推断数据帧架构,但不能对任意类执行此操作。我不确定我是否可以比Spark文档更好地陈述答案,there's a section dedicated to exactly this。
具体来说,问题是Spark可以推断出架构的类型有限。 Ints,Strings,Seqs / Arrays都支持(以及包含这些类型元素的case类),但是任意类MyClass
都不支持。