मैंने अपना मसला हल कर लिया। असंगत गणनाओं का कारण था MongoDefaultPartitioner जो MongoSamplePartitioner . को लपेटता है जो रैंडम सैंपलिंग का उपयोग करता है। सच कहूं तो यह मेरे लिए काफी अजीब डिफ़ॉल्ट है। मैं व्यक्तिगत रूप से इसके बजाय एक धीमा लेकिन एक सुसंगत विभाजनकर्ता रखना पसंद करूंगा। पार्टीशनर विकल्पों का विवरण आधिकारिक कॉन्फ़िगरेशन विकल्पों में पाया जा सकता है। दस्तावेज़ीकरण।
कोड:
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()