Ik denk dat ik het probleem heb gevonden:mongodb-hadoop heeft een "statische" modifier op zijn BSON-encoder/decoder-instanties in core/src/main/java/com/mongodb/hadoop/input/MongoInputSplit.java. Wanneer Spark in multithreaded-modus draait, proberen alle threads te deserialiseren met behulp van dezelfde encoder/decoder-instanties, die waarschijnlijk slechte resultaten opleveren.
Patch op mijn github hier (hebben upstream een pull-verzoek ingediend)
Ik kan nu een 8 core multithreaded Spark->mongo collection count() uitvoeren vanuit Python!