Saya pikir saya telah menemukan masalahnya:mongodb-hadoop memiliki pengubah "statis" pada instance encoder/decoder BSON di core/src/main/Java/com/mongodb/hadoop/input/MongoInputSplit.java. Saat Spark berjalan dalam mode multithread, semua thread mencoba dan deserialise menggunakan sama encoder/decoder, yang kemungkinan besar memiliki hasil yang buruk.
Patch di github saya di sini (telah mengirimkan permintaan tarik ke hulu)
Saya sekarang dapat menjalankan 8 core multithreaded Spark->mongo collection count() dari Python!