Я использую spark mongo-connector для синхронизации данных из коллекции mongodb в файл hdfs, мой код отлично работает, если коллекция читается через mongos, но когда дело доходит до local.oplog.rs, коллекция реплик может быть прочитана только через mongod, это дает мне исключение:
Вызвано: com.mongodb.hadoop.splitter.SplitFailedException: невозможно рассчитать разделение входных данных: не удалось найти индекс по ключу разделения {_id: 1}
Я думаю, что структура данных между oplog.rs и обычной коллекцией отличается, oplog.rs не имеет свойства «_id», поэтому newAPIHadoopRDD не может нормально работать, верно?