Временное решение Spark Serialization для сторонних неявных значений - PullRequest
0 голосов
/ 05 ноября 2019

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

trait ApiUtils extends MediaTypes {

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

  def post = { ...

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

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

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

...