Je pense avoir trouvé le problème :mongodb-hadoop a un modificateur "statique" sur ses instances d'encodeur/décodeur BSON dans core/src/main/java/com/mongodb/hadoop/input/MongoInputSplit.java. Lorsque Spark s'exécute en mode multithread, tous les threads essaient de se désérialiser en utilisant le même instances d'encodeur/décodeur, qui ont vraisemblablement de mauvais résultats.
Patch sur mon github ici (ont soumis une pull request en amont)
Je suis maintenant capable d'exécuter une collection multithread Spark->mongo count() à 8 cœurs à partir de Python !