Исключить несериализуемое исключение при разборе JSON с json4s

У меня возникла проблема с попыткой разобрать JSON в моей искровой работе. я используюspark 1.1.0, json4sиCassandra Spark Connector, Исключение:

java.io.NotSerializableException: org.json4s.DefaultFormats

Изучение сопутствующего объекта DefaultFormats, и с этимстек Вопрос, понятно, что DefaultFormats нельзя сериализовать. Вопрос сейчас в том, что делать.

Я вижу этобилет по-видимому, обратился к этой проблеме в базе кода искры, добавив ключевое слово transient, но я не уверен точно, как и где его применить к моему случаю. Является ли решение для создания экземпляров класса DefaultFormats только для исполнителей, чтобы избежать сериализации все вместе? Есть ли другая библиотека для анализа JSON для scala / spark, которую используют люди? Сначала я пытался использовать Джексон сам по себе, но столкнулся с некоторыми ошибками с аннотациями, которые я не мог легко разрешить, и json4s работал из коробки. Вот мой код:

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) 

Я делаю JSON-разбор в функции checkUa. Я пытался сделать счет ленивым в надежде, что это как-то задержит выполнение, но это не дало результата. Возможно перемещение неявного val внутри checkUA? Любой совет высоко ценится.

Ответы на вопрос(2)

Ваш ответ на вопрос