java.lang.UnsupportedOperationException: схема для типа MyClass не поддерживается
Я использую 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 не поддерживается
Любая помощь с этим будет принята с благодарностью.
1 ответ
Spark использует отражение, чтобы вывести схему данных, но не может сделать это для произвольных классов. Я не уверен, что смогу сформулировать ответ лучше, чем документы Spark, и есть раздел, посвященный именно этому.
Чтобы быть конкретным, проблема в том, что существует ограниченное количество типов, для которых Spark может вывести схему. Поддерживаются Ints, Strings, Seqs/Arrays (а также классы case, содержащие элементы этих типов), но произвольный класс MyClass
не является.