Невозможно записать фрейм данных в БД Cosmos / documentDB из Databricks с pySpark - PullRequest
0 голосов
/ 16 декабря 2018

При попытке сохранить фрейм данных, над которым я работаю, в коллекцию documentDB возникает ошибка, которую я не понимаю.

Другие подобные проблемы в стеке указывали на неправильные или чувствительные к регистру имена, предоставленные для базы данных или коллекции, но я проверил эти ... Какие еще могут быть объяснения?PartitionKey?Регион? ...

С другой стороны, мне не удалось найти полный документ, по которому в конечном итоге должны были быть предоставлены опции для строки df.write.format("com.microsoft.azure.cosmosdb.spark").mode('overwrite').options(**ddbconfig).save()

Ошибка, выданная Spark для Databricks::

com.microsoft.azure.documentdb.DocumentClientException: Message: {'Errors':['Owner resource does not exist']}

StackTrace дал те ответы, которые

Py4JJavaError: 
  An error occurred while calling o646.save. :
    com.microsoft.azure.documentdb.DocumentClientException: 
      Message: {"Errors":["Owner resource does not exist"]}

дал в storereadresult

LSN: 623, GlobalCommittedLsn: 623, PartitionKeyRangeId: , IsValid: True, StatusCode: 404, IsGone: False, IsNotFound: True, IsInvalidPartition: False, RequestCharge: 1, ItemLSN: -1, SessionToken: -1#623, ResourceType: Collection, OperationType: Read

edit: другая ситуация, чем в аналогичных связанных постах.Эта ошибка возникает при попытке записи данных в новую, пустую коллекцию.Не читает существующие данные.И я уже уточнил в своем вопросе, что я изучил все пути (в основном несоответствия имен коллекций / баз данных), которые я нашел в тех же постах.

1 Ответ

0 голосов
/ 03 января 2019

После дальнейших исследований это ошибка в версии библиотеки, которую я использовал.

Устранено переключением с azure-cosmosdb-spark_2.3.0_2.11-1.2.2-uber.jar на azure-cosmosdb-spark_2.3.0_2.11-1.2.7-uber.jar

Как видно здесь на github https://github.com/Azure/azure-cosmosdb-spark/issues/268

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...