sql >> データベース >  >> NoSQL >> MongoDB

Mongo Sparkコネクタがクエリに対して異なる誤ったカウントを返すのはなぜですか?

    問題を解決しました。カウントに一貫性がない理由は、 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()
    


    1. MongoDB $ sampleRate

    2. MongoEngine-削除されたフィールドは引き続きValidationErrorを発生させます

    3. BsonRepresentation(BsonType.ObjectId)とBsonIdとObjectIdを使用したC#のプロパティの装飾の違い

    4. 存在する場合は多数を更新し、存在しない場合は、存在しないLeadIdごとに新しいドキュメントを作成します