私は234百万のレコードでSparkのMongoDBでコレクションを読み込もうとしています。私は唯一のフィールドが欲しい。エラー:com.mongodb.MongoCursorNotFoundException:MongoDBからSparkへの読み込み中
case class Linkedin_Profile(experience : Array[Experience])
case class Experience(company : String)
val rdd = MongoSpark.load(sc, ReadConfig(Map("uri" -> mongo_uri_linkedin)))
val company_DS = rdd.toDS[Linkedin_Profile]()
val count_udf = udf((x: scala.collection.mutable.WrappedArray[String]) => {x.filter(_ != null).groupBy(identity).mapValues(_.size)})
val company_ColCount = company_DS.select(explode(count_udf($"experience.company")))
comp_rdd.saveAsTextFile("/dbfs/FileStore/chandan/intermediate_count_results.csv")
ジョブが完了したジョブの半分で1時間実行されますが、それは誤りに
com.mongodb.MongoCursorNotFoundException:
Query failed with error code -5 and error message
'Cursor 8962537864706894243 not found on server cluster0-shard-01-00-i7t2t.mongodb.net:37017'
on server cluster0-shard-01-00-i7t2t.mongodb.net:37017
を与えることをした後、私は以下で構成を変更しようとしたが、無駄に。
System.setProperty("spark.mongodb.keep_alive_ms", "7200000")
この大きなコレクションの読み方をお勧めします。