错误:写入非空集合

时间:2019-04-25 16:31:31

标签: python-3.x apache-spark azure-cosmosdb databricks azure-databricks

在将json写入Cosmos DB时遇到了问题。我可以在写入数据的同时读取数据并遇到问题

已应用的以下Cosmos db连接器版本 https://docs.azuredatabricks.net/spark/latest/data-sources/azure/cosmosdb-connector.html 并尝试了不同的版本。这个问题仍然存在。

RawFilePath="/mnt/ADLS/Users/test/CosmosDB/testfile.json"
DFRead=spark.read.json(RawFilePath)
DFNew = DFRead.selectExpr("activity", "partition AS xfactor","response", "source", "type")

writeConfig  = {
 "Endpoint" : "{End Point}",
 "Masterkey" : "{MasterKey}",
 "Database" : "{DB Name}",
 "Collection" : "{Connection name}",
 "Upsert" : "true"   
}

DFNew.write.format("com.microsoft.azure.cosmosdb.spark").options(**writeConfig).save()

出现以下错误。

Error : java.lang.UnsupportedOperationException: Writing in a non-empty collection.

期望将json写入cosmos DB集合中。但是,无法解决Databricks中的非空收集错误。非常感谢您的帮助。

谢谢..

1 个答案:

答案 0 :(得分:0)

尝试通过指定模式

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