sql >> Databáze >  >> NoSQL >> MongoDB

Proč konektor Mongo Spark vrací pro dotaz různé a nesprávné počty?

Vyřešil jsem svůj problém. Důvodem nekonzistentních počtů byl MongoDefaultPartitioner který obaluje MongoSamplePartitioner který používá náhodný výběr. Abych byl upřímný, je to pro mě docela zvláštní výchozí nastavení. Osobně bych raději měl místo toho pomalý, ale konzistentní oddíl. Podrobnosti o možnostech rozdělování oddílů lze nalézt v oficiálních možnostech konfigurace dokumentaci.

kód:

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()


  1. Chyba Mongo při použití agregace:řazení překročilo limit paměti

  2. Z mat-select uložte data do databáze MongoDB

  3. Vylepšete agregační strukturu MongoDB

  4. MongoDB findAndModify z více klientů