Я использую искровую оболочку для запуска моего кода. В моем коде я определил функцию, и я вызываю эту функцию с ее параметрами.«ошибка: тип несоответствия» в Spark с такими же найденными и необходимыми типами данных
Проблема в том, что я получаю следующую ошибку при вызове функции.
error: type mismatch;
found : org.apache.spark.graphx.Graph[VertexProperty(in class $iwC)(in class $iwC)(in class $iwC)(in class $iwC),String]
required: org.apache.spark.graphx.Graph[VertexProperty(in class $iwC)(in class $iwC)(in class $iwC)(in class $iwC),String]
В чем причина этой ошибки? Имеет ли он какое-либо отношение к типу данных Graph в Spark?
Код: Это часть моего кода, которая включает определение и вызов функции «countpermissions».
class VertexProperty(val id:Long) extends Serializable
case class User(val userId:Long, val userCode:String, val Name:String, val Surname:String) extends VertexProperty(userId)
case class Entitlement(val entitlementId:Long, val name:String) extends VertexProperty(entitlementId)
def countpermissions(es:String, sg:Graph[VertexProperty,String]):Long = {
return 0
}
val triplets = graph.triplets
val temp = triplets.map(t => t.attr)
val distinct_edge_string = temp.distinct
var bcast_graph = sc.broadcast(graph)
val edge_string_subgraph = distinct_edge_string.map(es => es -> bcast_graph.value.subgraph(epred = t => t.attr == es))
val temp1 = edge_string_subgraph.map(t => t._1 -> countpermissions(t._1, t._2))
Код работает без ошибок до последней строки, где он получает вышеупомянутую ошибку.
Непонятно из этого ответа, как оригинальный автор должен решить свою проблему. Кажется, это только показывает, как создать аналогичное сообщение об ошибке с использованием другого кода. – GeorgeLewis
@GeorgeLewis Спасибо за отзыв. Thing ism - это ожидаемое поведение. Просто сообщение об ошибке не очень понятно. Помимо сохранения состояния REPL в чистом виде и удаления/переопределения двусмысленных определений здесь нечего делать. – zero323