在CosmosDB MongoDB API数据库上连接AzureDatabricks

在CosmosDB MongoDB API数据库上连接AzureDatabricks,mongodb,pyspark,databricks,azure-cosmosdb-mongoapi,Mongodb,Pyspark,Databricks,Azure Cosmosdb Mongoapi,我正在尝试连接CosmosDB MongoDB API数据库上Azure Databricks集群中的Python笔记本 我正在使用mongo连接器2.11.2.4.2 Python 3 我的代码如下: ReadConfig = { "Endpoint" : "https://<my_name>.mongo.cosmos.azure.com:443/", "Masterkey" : "<my_key>", "Database" : "database",

我正在尝试连接CosmosDB MongoDB API数据库上Azure Databricks集群中的Python笔记本

我正在使用mongo连接器2.11.2.4.2 Python 3

我的代码如下:

ReadConfig = {
  "Endpoint" : "https://<my_name>.mongo.cosmos.azure.com:443/",
  "Masterkey" : "<my_key>",
  "Database" : "database",
  "preferredRegions" : "West US 2",
  "Collection": "collection1",
  "schema_samplesize" : "1000",
  "query_pagesize" : "200000",
  "query_custom" : "SELECT * FROM c"
}



df = spark.read.format("mongo").options(**ReadConfig).load()
df.createOrReplaceTempView("dfSQL")

我得到的错误是无法初始化com.mongodb.spark.config.ReadConfig$类


如何解决此问题?

请确保使用最新的Azure Cosmos DB Spark连接器

下载您正在运行的Apache spark版本的最新azure cosmosdb spark库:

Spark 2.4:azure-cosmosdb-Spark_2.4.0_2.11-2.1.2-uber.jar

Spark 2.3:azure-cosmosdb-Spark_2.3.0_2.11-1.2.2-uber.jar

Spark 2.2:azure-cosmosdb-Spark_2.2.0_2.11-1.1.1-uber.jar

按照Upload a JAR、Python Egg或Python Wheel中的说明将下载的JAR文件上载到Databricks

将上载的库安装到Databricks群集中


参考资料:

回答我自己的问题

使用MAVEN作为源代码,我使用路径为集群安装了正确的库

org.mongodb.spark:mongo-spark-connector_2.11:2.4.0

火花2.4

对于那些想尝试的人,我使用的代码示例如下:

# Read Configuration
readConfig = {
    "URI": "<URI>",
    "Database": "<database>",
    "Collection": "<collection>",
  "ReadingBatchSize" : "<batchSize>"
  }


pipelineAccounts = "{'$sort' : {'account_contact': 1}}"

# Connect via azure-cosmosdb-spark to create Spark DataFrame 
accountsTest = (spark.read.
                 format("com.mongodb.spark.sql").
                 options(**readConfig).
                 option("pipeline", pipelineAccounts).
                 load())

accountsTest.select("account_id").show()

这些JAR仅用于SQL API。很高兴您知道,您可以通过安装正确的库来解决此问题。