Я использую блоки данных Azure с Pyspark и CosmosDB с API MongoDB.
Следующая команда Pyspark используется для сохранения data_frame
в CosmosDB, которая работает нормально:
def storeCollection(self, collection, data_frame, save_mode="append"):
data_frame.write.format(
"com.mongodb.spark.sql.DefaultSource").option(
"spark.database.output.uri", self.uri).option(
"spark.database.output.database", self.db).option(
"spark.database.output.collection", collection).mode(save_mode).save()
Но теперь моя проблема: у меня в CosmosDB следующая структура документа:
{
"_id" : "687c0184-aaa6-11e8-94bd-cba20d67390c",
"api" : "",
"aspectSet" : "",
"id" : "687c0184-aaa6-11e8-94bd-cba20d67390c",
"providerID" : "",
"searchDate" : "",
"searchQuery" : [
{
"_id" : "0",
"id" : "0",
"queryID" : "",
"searchTerm" : "",
"searchTermCategory" : "",
"searchTermLanguage" : "en",
"searchTermPriority" : "1",
"searchTermSubcategory" : "",
"weight" : "1"
}
]
}
Теперь я хочу добавить новый searchQuery
в список searchQueries
, выполнив частичное обновление документа, но я не нашел примеров того, как это сделать.
Существует страница от Microsoft (https://docs.microsoft.com/en-us/azure/cosmos-db/mongodb-feature-support)), в которой говорится, что CosmosDB поддерживает множество функций MongoDB, но я не могу найти примеров того, как это сделать.
Кто-то уже работал с CosmosDB и сталкивался с подобной проблемой? Любые предложения или указатели будут высоко оценены.