Обходной путь Spark Serialization для сторонних неявных значений

Я выполняю задание Spark, которое выполняет несколько вызовов Http по линии. Я решил использовать библиотекуSttp что требует implicit HTTP-бэкэнд, в моем случае HttpURLConnectionBackend(): применение объекта, которое создает новый экземпляр класса, который нельзя сериализовать.

trait ApiUtils extends MediaTypes {

  implicit val backend: SttpBackend[Identity, Nothing, NothingT] = HttpURLConnectionBackend()

  def post = { ...

Как следствие, поскольку моя работа в Spark расширяет это trait, все методы из этого trait внутри задания Spark недоступны для исполнителей.

В качестве довольно безмозглого обходного пути я сделал val а def, но каков рекомендуемый способ разобраться в этих вещах?

Сама работа Spark - это class, а не object. Причина в том, чтобы имитировать / заглушить упомянутый бэкэнд Http внутри тестов.

0 ответов

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