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 не является.

Другие вопросы по тегам