MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Ausnahme beim Verbinden mit mongodb in Spark

Ich glaube, ich habe das Problem gefunden:mongodb-hadoop hat einen „statischen“ Modifikator für seine BSON-Encoder/Decoder-Instanzen in core/src/main/java/com/mongodb/hadoop/input/MongoInputSplit.java. Wenn Spark im Multithread-Modus läuft, versuchen alle Threads und deserialisieren mit demselben Encoder/Decoder-Instanzen, was voraussichtlich zu schlechten Ergebnissen führt.

Patch auf meinem Github hier (habe eine Pull-Anfrage an Upstream gesendet)

Ich kann jetzt eine 8-Kern-Multithread-Spark->mongo collection count() von Python ausführen!