5
Poniżej znajduje się kodWiele konstruktorzy z tej samej liczby parametrów wyjątku podczas przekształcania danych w iskrą użyciu Scala
def findUniqueGroupInMetadata(sc: SparkContext): Unit = {
val merchantGroup = sc.cassandraTable("local_pb", "merchant_metadata").select("group_name")
try {
val filterByWithGroup = merchantGroup.filter {
row =>
row.getStringOption("group_name") match {
case Some(s: String) if (s != null) => true
case None => false
}
}.map(row => row.getStringOption("group_name").get.capitalize)
//filterByWithGroup.take(15).foreach(data => println("merchantGroup => " + data))
filterByWithGroup.saveToCassandra("local_pb", "merchant_group", SomeColumns("group_name"))
} catch {
case e: Exception => println(e.printStackTrace())
}
}
Exception =>
java.lang.IllegalArgumentException: Multiple constructors with the same number of parameters not allowed.
at com.datastax.spark.connector.util.Reflect$.methodSymbol(Reflect.scala:16)
at com.datastax.spark.connector.util.ReflectionUtil$.constructorParams(ReflectionUtil.scala:63)
at com.datastax.spark.connector.mapper.DefaultColumnMapper.<init>(DefaultColumnMapper.scala:45)
at com.datastax.spark.connector.mapper.LowPriorityColumnMapper$class.defaultColumnMapper(ColumnMapper.scala:47)
at com.datastax.spark.connector.mapper.ColumnMapper$.defaultColumnMapper(ColumnMapper.scala:51)
Wystąpił ten sam błąd wiadomość w innym kontekście (wywołanie deleteFromCassandra ze Spark DataFrame) i poprawka też zadziałała. –