私はコードを実行するためにspark-shellを使用しています。私のコードでは、関数を定義し、その関数をそのパラメータで呼びます。同じエラーが発生したデータ型を持つSparkの "error:type mismatch"
問題は、関数を呼び出すときに以下のエラーが発生することです。
このエラーの背景は何ですか? SparkのGraphデータ型と何か関係がありますか?
コード:これは、関数 "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フィードバックいただきありがとうございます。それは期待された動作です。ちょうどエラーメッセージはあまり明確ではありません。 REPLの状態を清潔に保ち、あいまいな定義を削除/上書きする以外に、ここでは何もしません。 – zero323