MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Warum gibt der Mongo Spark-Konnektor unterschiedliche und falsche Zählwerte für eine Abfrage zurück?

Ich habe mein Problem gelöst. Der Grund für inkonsistente Zählungen war der MongoDefaultPartitioner die MongoSamplePartitioner umschließt die zufällige Stichproben verwendet. Um ehrlich zu sein, ist das für mich eine ziemlich seltsame Voreinstellung. Ich persönlich würde stattdessen einen langsamen, aber konsistenten Partitionierer bevorzugen. Die Details zu den Partitionierungsoptionen finden Sie in den offiziellen Konfigurationsoptionen Dokumentation.

Code:

val df = spark.read
  .format("com.mongodb.spark.sql.DefaultSource")
  .option("uri", "mongodb://127.0.0.1/enron_mail.messages")
  .option("partitioner", "spark.mongodb.input.partitionerOptions.MongoPaginateBySizePartitioner ")
  .load()