Scala Карта набора данных завершается с ошибкой. Не найдено подходящего конструктора / метода для нулевых фактических параметров. - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть следующие классы дел

case class FeedbackData (prefix : String, position : Int, click : Boolean,
                         suggestion: Suggestion,
                         history : List[RequestHistory],
                         eventTimestamp: Long)

case class Suggestion (clicks : Long, sources : List[String], ctr : Float)

case class RequestHistory (timestamp: Long, url: String)

Я использую его для выполнения операции сопоставления с моим набором данных

sqlContext = ss.sqlContext
import sqlContext.implicits._


val input: Dataset[FeedbackData] = ss.read.json("filename").as(Encoders.bean(classOf[FeedbackData]))

input.map(row => transformRow(row))

Во время выполнения я вижу исключение

java.util.concurrent.ExecutionException: org.codehaus.commons.compiler.CompileException: File 'generated.java', Line 24, Column 81: failed to compile: 

No applicable constructor/method found for zero actual parameters; candidates are: "package.FeedbackData(java.lang.String, int, boolean, package.Suggestion, scala.collection.immutable.List, long)"

Что я делаю не так?

1 Ответ

1 голос
/ 17 апреля 2020

С контекстом все в порядке, проблема с классом дел, Scala long (Long) приходится использовать вместо Java long (long):

case class A(num1 : Long, num2 : Long, num3 : Long)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...