Сопоставление JSON с пользовательским классом case не работает в искровой оболочке

Я хочу сделать сопоставление json с классом case scala, как это сделано здесь: https://github.com/databricks/learning-spark/blob/master/src/main/scala/com/oreilly/learningsparkexamples/scala/BasicParseJsonWithJackson.scala

Это отлично работает в «обычных» заданиях Spark, которые выполняются в моем кластере. Но если я хочу сделать это в блокноте Zeppelin или в оболочке Spark, я получаю следующую ошибку:

com.fasterxml.jackson.databind.JsonMappingException: No suitable constructor found for type [simple type, class MyCaseClassName]: can not instantiate from JSON object (missing default constructor or creator, or perhaps need to add/enable type information?)

Есть ли у вас какие-либо идеи, в чем проблема и как я могу это исправить?

EDIT: я использую следующие версии: Spark 2.0.2 Zeppelin 0.6.2 Scala 2.11 Кластер Spark и zeppelin работают на Google Container Engine (Kubernetes). Но, как я упоминал ранее, эта проблема возникает и в локальной оболочке Spark. Поэтому я думаю, что это не зависит от версии Zeppelin и среды выполнения Spark.


person JayKay    schedule 14.12.2016    source источник
comment
Не могли бы вы также опубликовать env? (например, zeppelin, spark, версии ОС)   -  person 1ambda    schedule 14.12.2016
comment
Извини, я забыл это. Пожалуйста, смотрите редактирование оригинального поста.   -  person JayKay    schedule 15.12.2016
comment
Это может быть та же проблема, что и stackoverflow.com/questions/38484154/   -  person Rockie Yang    schedule 15.12.2016
comment
Я попытался обернуть класс case во внешний объект, импортировать его в следующий абзац цеппелина и использовать там класс case, как предложил @RockieYang: появляется та же ошибка.   -  person JayKay    schedule 15.12.2016
comment
Я нашел это: github.com/FasterXML/jackson-module-scala#caveats Может быть, эта информация об отладке класса отображается в интерпретаторах scala в spark shell или zeppelin? Но если это так, как мне включить это?   -  person JayKay    schedule 15.12.2016