Я превращаю свой комментарий в ответ, чтобы вы могли пометить этот вопрос как ответ.
TL; DR: Вы не можете использовать реализацию по умолчанию для черт Scala в Java, если черта быласоставлен версией Scala ранее 2.12. Это относится к используемой здесь версии Spark, поэтому вся надежда потеряна.
Причина заключается в том, как компилятор Scala кодирует признаки для совместимости с JVM (и, следовательно, с Java). ,
До Java 8 интерфейсам не разрешалось предоставлять реализации по умолчанию. Черты Scala, которые являются в основном стековыми интерфейсами с реализациями по умолчанию, должны быть закодированы как с интерфейсом без реализации, так и с абстрактным классом, обеспечивающим реализацию. Подробнее об этом см. этот ответ .
После Java 8 интерфейсам было разрешено предоставлять реализацию по умолчанию, поэтому Scala могла кодировать признаки с реализациями по умолчанию прямо вJava-интерфейсы и быть напрямую совместимыми с Java-кодом. Начиная с Scala 2.12, для Scala требуется совместимая с Java 8+ JVM, что обеспечивает совместимость с чертами <->. Если код Scala был скомпилирован компилятором Scala 2.12+, вы можете использовать его черты как обычные интерфейсы Java.