Как исправить «ошибку: не найдено: тип CosmosDBSourceProvider» в потоке чтения scala из блоков данных из базы данных «космос» - PullRequest
0 голосов
/ 11 ноября 2019

Я пытаюсь использовать scala на кирпичах данных для чтения потока из БД космоса, следуя из этого источника: https://docs.microsoft.com/bs-latn-ba/azure/cosmos-db/spark-connector, но почему-то пример кода потока чтения scala мне не помог.

Я пытался импортировать больше библиотек, таких как "com.microsoft.azure.cosmosdb.spark.streaming._", но он все еще не работал.

это код Scala, который яя пытаюсь использовать

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" -> cosmos_endpoint,
  "Masterkey" -> cosmos_masterkey,
  "Database" -> "abc",
  "Collection" -> "123",
  "ReadChangeFeed" -> "true",
  "ChangeFeedQueryName" -> "Scala-Changefeed",
  "ChangeFeedStartFromTheBeginning" -> "true",
  "InferStreamSchema" -> "false",
  "ChangeFeedCheckpointLocation" -> ".../ChagefeedCheckpoint"))

 val changeFeed = spark.readStream.format(classOf[CosmosDBSourceProvider].getName).options(readConfig).load()

и полученное сообщение об ошибке было

command-2054522864350223:16: error: not found: type CosmosDBSourceProvider
val changeFeed = spark.readStream.format(classOf[CosmosDBSourceProvider].getName).options(readConfig).load()
                                                 ^

1 Ответ

0 голосов
/ 11 ноября 2019

Может быть, вы не импортировали какой-то класс. Я думаю, что вы можете заменить

.format(classOf[CosmosDBSourceProvider].getName)

на

.format("com.microsoft.azure.cosmosdb.spark.streaming.CosmosDBSourceProvider")
...