Se genera una excepción no serializable al analizar JSON con json4s

Me he encontrado con un problema al intentar analizar json en mi trabajo de chispa. Estoy usandospark 1.1.0, json4s, y elCassandra Spark Connector. La excepción lanzada es:

java.io.NotSerializableException: org.json4s.DefaultFormats

Examinando el objeto complementario DefaultFormats, y con estoapilar pregunta, está claro que DefaultFormats no se puede serializar. La pregunta ahora es qué hacer.

Puedo ver estoboleto aparentemente ha abordado este problema en la base del código de chispa, agregando la palabra clave transitoria, pero no estoy seguro exactamente cómo o dónde aplicarlo a mi caso. ¿Es la solución solo instanciar la clase DefaultFormats en los ejecutores, para evitar la serialización por completo? ¿Hay otra biblioteca de análisis JSON para scala / spark que la gente está usando? Inicialmente intenté usar jackson solo, pero encontré algunos errores con anotaciones que no pude resolver fácilmente, y json4s funcionó de inmediato. Aquí está mi código:

import org.json4s._
import org.json4s.jackson.JsonMethods._
implicit val formats = DefaultFormats

val count = rdd.map(r => checkUa(r._2, r._1)).reduce((x, y) => x + y) 

Hago mi análisis json en la función checkUa. Intenté hacer que el recuento fuera flojo, con la esperanza de que de alguna manera retrasara la ejecución, pero no tuvo ningún efecto. ¿Quizás moviendo el valor implícito dentro de checkUA? Cualquier consejo muy apreciado.

Respuestas a la pregunta(2)

Su respuesta a la pregunta