我目前正在编写Pyspark_2.2.1的独立应用程序,以MongoDB_2.6为数据库,mongo-Spark连接器为2.2.1版本。在使用 spark-submit 运行 spark 应用程序时,我收到以下错误:
: java.lang.ClassNotFoundException: spark.mongodb.input.partitionerOptions.MongoPaginateBySizePartitioner
我试图在从MongoDB数据库中读取数据时提及。这是我的阅读的样子:
users = spark.read.format("com.mongodb.spark.sql.DefaultSource")
.option("uri" , "mongodb://127.0.0.1/xyz.abc")
.option("partitioner", "spark.mongodb.input.partitionerOptions.MongoPaginateBySizePartitioner ")
.load()
我点击了以下链接来指定分区程序:
https://docs.mongodb.com/spark-connector/master/configuration/。
在这里,即使是默认分区程序也不起作用。我得到同样的错误。
任何帮助将不胜感激。谢谢
指定 .option("键","值"(时的问题。我在实例化SparkSession时确实提到了这一点:
spark = SparkSession
.builder
.appName("data_pull")
.master("local")
.config("spark.mongodb.input.partitioner" ,"MongoPaginateBySizePartitioner")
.getOrCreate()
似乎MongoDefaultPartitioner用户$sample来自Mongo3.2的聚合