foreachRDD
に入力するたびに mongodb RDDを作成します。しかし私は、シリアル化の問題があります。スパークストリーミング:foreachRDD私のmongo RDDを更新
mydstream
.foreachRDD(rdd => {
val mongoClient = MongoClient("localhost", 27017)
val db = mongoClient(mongoDatabase)
val coll = db(mongoCollection)
// ssc is my StreamingContext
val modelsRDDRaw = ssc.sparkContext.parallelize(coll.find().toList) })
これは私にエラーを与える:
object not serializable (class: org.apache.spark.streaming.StreamingContext, value: [email protected])
任意のアイデア?
'SparkContext'はシリアライズ可能ではないため、変換メソッドやアクションメソッド内では使用できません。ドライバクラスでのみ使用する必要があります。 – Shankar
foreachRDDメソッドの中でリストをrddに変換する理由は何ですか? – Shankar