问题描述
我正在使用Apache Spark 2.3.2v。以下是我使用Apache Spark与CosmosDB一起执行的用例。 我正在使用 azure-cosmosdb-spark_2.3.0_2.11_1.3.3 连接器。
用例-我正在spark中执行一些复杂的聚合,并且我的数据在CosmosDB(sql)中。我想从Apache Spark数据框中的CosmosDB中读取数据,并执行一些复杂的聚合功能,然后写回CosmosDB中存储的新数据库和Collection中,这些新数据库将在运行时创建。
我能够成功地从CosmosDB中读取数据,并通过数据框执行了我的功能。 现在,我想写回CosmosDB,但要写在新的数据库和新的Collection中。
下面是我从CosmosDB读取数据的代码-
import com.microsoft.azure.cosmosdb.spark.schema._
import com.microsoft.azure.cosmosdb.spark._
import com.microsoft.azure.cosmosdb.spark.config.Config
val readConfig = Config(Map("Endpoint" -> "https://xyz.documents.azure.com:443/","Masterkey" -> "","Database" -> "Database1","PreferredRegions" -> "","Collection" -> "Collection1","SamplingRatio" -> "1.0"))
val flights = spark.read.cosmosDB(readConfig)
flights.count() // performed complex aggrgate functions
val writeConfig = Config(Map(
"Endpoint" -> "https://xyz.documents.azure.com:443/","Masterkey" ->"","Database" -> "Database2","Collection" -> "Collection2","WritingBatchSize" -> "100","Upsert" -> "true"))
flights.write.mode(SaveMode.Overwrite).cosmosDB(writeConfig)
当我尝试提供不同的数据库和新的Collection名称(不在cosmosDb中创建)时,它总是在异常以下给我
Exception in thread "main" com.microsoft.azure.documentdb.DocumentClientException: Message: {"Errors":["Resource Not Found. Learn more: https:\/\/aka.ms\/cosmosdb-tsg-not-found"]}
我查看了许多链接,但是所有链接都赋予数据库名称和集合名称相同的读写操作。 请让我知道是否需要任何输入。
查询-
- 我可以使用Spark-cosmos Db连接器通过Apache Spark在CosmosDB中创建数据库和集合吗?
请建议我任何解决方案。我是否需要构建与.NET SDK中相似的API
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)