Загрузка в базу данных Azure Cosmos через блоки данных Azure с использованием соединителя Spark - PullRequest
0 голосов
/ 27 июня 2019

У меня есть учетная запись cosmosDB в Azure.Я вставил 10 строк с первичным ключом "unique_ID" через блоки данных с использованием Spark-соединителя "azure-cosmosdb-spark_2.4.0_2.11-1.3.4-uber.jar"

Для контейнера cosmosDB в качестве уникального идентификатора заданоуникальный ключ.У меня возникло несколько проблем.

Чтобы сохранить следующий набор записей с одинаковыми уникальными идентификаторами, но с разными значениями полей, я не могу сделать это успешно.Я использую запрос:

connectionConfig = {
"Endpoint" : "https://.documents.azure.com:443/",
"Masterkey" : "",
"Database" : "",
"preferredRegions" : "East US",
"Collection": "",
"Upsert" : "true"
}

data.write.format("com.microsoft.azure.cosmosdb.spark").options(**connectionConfig).save()

Сбой!

Ошибка: запись в непустую таблицу.

Итак, я использую следующий запрос:

data.write.format("com.microsoft.azure.cosmosdb.spark").mode("append").options(**connectionConfig).save()

Это тоже не удается!

Ошибка: нарушение ограничения уникального индекса.

Режим замены "добавление"to" overwrite "выдает точно такое же сообщение об ошибке.

Как мне обновить мои записи?

Что я не понимаю, так это то, что перезапись по крайней мере не должна работать и перезаписыватьвся база данных с новыми записями?

...