com.mongodb.MongoInternalException: длина ответного сообщения меньше максимальной длины сообщения 4194304 - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь получить документы в коллекции mongodb, используя скрипт databricks в pyspark.Я пытаюсь получить данные за каждый день.Скрипт работает хорошо в течение нескольких дней, но иногда выдает следующую ошибку в течение некоторого дня.

com.mongodb.MongoInternalException: The reply message length 14484499 is less than the maximum message length 4194304.

Не уверен, что это за ошибка и как ее устранить.Любая помощь приветствуется.

Это пример кода, который я использую:

pipeline = [{'$match':{'$and':[{'UpdatedTimestamp':{'$gte': 1555891200000}},
                               {'UpdatedTimestamp':{'$lt': 1555977600000}}]}}]

READ_MSG = spark.read.format("com.mongodb.spark.sql.DefaultSource")
               .option("uri",connectionstring)
               .option("pipeline",pipeline)
               .load()

Дата и время предоставляются в формате эпох.

Ответы [ 2 ]

0 голосов
/ 10 июня 2019

После добавления appName в строку подключения mongo db проблема, похоже, решена. Я не получаю эту ошибку сейчас.

0 голосов
/ 07 июня 2019

Это больше комментарий, чем ответ (у меня недостаточно репутации, чтобы оставлять комментарии).

У меня та же проблема. После некоторых исследований я обнаружил, что проблема была связана с моим вложенным полевым «опросом» с более чем 1 подуровнем, поскольку я смог прочитать БД, выбрав все остальные поля, кроме этого:

root
 |-- _id: string (nullable = true)
 |-- _t: array (nullable = true)
 |    |-- element: string (containsNull = true)
 |-- address: struct (nullable = true)
 |    |-- streetAddress1: string (nullable = true)
 |-- survey: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- SurveyQuestionId: string (nullable = true)
 |    |    |-- updated: array (nullable = true)
 |    |    |    |-- element: long (containsNull = true)
 |    |    |-- value: string (nullable = true)

Есть ли кто-нибудь ближе к обходному пути к тому, что, кажется, ошибка в искровом разъеме mongodb?

...