Невозможно записать фрейм данных в Azure Cosmo DB - PullRequest
1 голос
/ 11 апреля 2019

Я не могу записать данные в **** cosmos db ****, используя блок данных искрового кластера . Тем не менее, я попробовал все ссылки и решения в Stackoverflow и Github и перепробовал все возможные jar-файлы для каждой версии.

стек ошибок:

java.lang.NoSuchMethodError:

com.microsoft.azure.documentdb.Offer.getContent () Lorg / JSON / JSONObject; в com.microsoft.azure.cosmosdb.spark.CosmosDBConnection.getCollectionThroughput (CosmosDBConnection.scala: 163) в com.microsoft.azure.cosmosdb.spark.CosmosDBSpark $ .save (CosmosDBSpark.scala: 173) в com.microsoft.azure.cosmosdb.spark.CosmosDBSpark $ .save (CosmosDBSpark.scala: 501) в com.microsoft.azure.cosmosdb.spark.DefaultSource.createRelation (DefaultSource.scala: 74) в org.apache.spark.sql.execution.datasources.SaveIntoDataSourceCommand.run (SaveIntoDataSourceCommand.scala: 45) в org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult $ lzycompute (commands.scala: 72) в org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult (commands.scala: 70) в org.apache.spark.sql.execution.command.ExecutedCommandExec.doExecute (commands.scala: 88) в org.apache.spark.sql.execution.SparkPlan $$ anonfun $ выполнять $ 1.Apply (SparkPlan.scala: 143) в org.apache.spark.sql.execution.SparkPlan $$ anonfun $ выполнять $ 1.Apply (SparkPlan.scala: 131) в org.apache.spark.sql.execution.SparkPlan $$ anonfun $ ExecuteQuery $ 5.Apply (SparkPlan.scala: 183) в org.apache.spark.rdd.RDDOperationScope $ .withScope (RDDOperationScope.scala: 151) в org.apache.spark.sql.execution.SparkPlan.executeQuery (SparkPlan.scala: 180) в org.apache.spark.sql.execution.SparkPlan.execute (SparkPlan.scala: 131) в org.apache.spark.sql.execution.QueryExecution.toRdd $ lzycompute (QueryExecution.scala: 114) в org.apache.spark.sql.execution.QueryExecution.toRdd (QueryExecution.scala: 114) в org.apache.spark.sql.DataFrameWriter $$ anonfun $ RunCommand $ 1.Apply (DataFrameWriter.scala: 690) в org.apache.spark.sql.DataFrameWriter $$ anonfun $ RunCommand $ 1.Apply (DataFrameWriter.scala: 690) в org.apache.spark.sql.execution.SQLExecution $$ anonfun $ withCustomExecutionEnv $ 1.Apply (SQLExecution.scala: 99) в org.apache.spark.sql.execution.SQLExecution $ .withSQLConfPropagated (SQLExecution.scala: 228) в org.apache.spark.sql.execution.SQLExecution $ .withCustomExecutionEnv (SQLExecution.scala: 85) к

Мой код:

import org.joda.time._
import org.joda.time.format._

import com.microsoft.azure.cosmosdb.spark.schema._
import com.microsoft.azure.cosmosdb.spark.CosmosDBSpark
import com.microsoft.azure.cosmosdb.spark.config.Config

import org.apache.spark.sql.functions._

val configMap = Map(
  "Endpoint" -> "MY-CONNECTION-ENDPOINT",
  "Masterkey" -> "MY-KEY",
  "Database" -> "Families",
  "Collection" -> "Families","Upsert"->"true")

val config = Config(configMap)
val df = spark.range(5).select(col("id").cast("string").as("value"))
df.write.mode(SaveMode.Overwrite).cosmosDB(config)
...