在CosmosDB MongoDB API数据库上连接AzureDatabricks
我正在尝试连接CosmosDB MongoDB API数据库上Azure Databricks集群中的Python笔记本 我正在使用mongo连接器2.11.2.4.2 Python 3 我的代码如下:在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",
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。很高兴您知道,您可以通过安装正确的库来解决此问题。