0
は、私は火花が情報を私にプロンプトが表示され、地図操作に巨大なグローバル変数を渡そうとしました:マップ操作にグローバル変数を追加するにはどうすればよいですか? Scalaで
ERROR yarn.ApplicationMaster: User class threw exception: java.lang.StackOverflowError
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
コードのようです:
val data = sc.textFile(inputPath).cache()
val map = Map[String, Int]()
for (i <- 0 to 9) {
map(i.toString) = i
}
data.map(sample => {
if (map.contains(sample)) {
("Found")
}
else {
("Not found")
}
})
あなたはマップをブロードキャストする必要があると思います。 try val broadcastedMap = sc.broadcast(map) ブロードキャストマップでアクセスしてください。 –
試しても、同じエラーが発生しました... –
なぜ*巨大な*オブジェクトをシリアル化していますか? –