【问题标题】:Unable to specify partitioner in spark-mongo connector (Class not found Exception)无法在 spark-mongo 连接器中指定分区器(找不到类异常)
【发布时间】:2018-03-15 19:16:22
【问题描述】:

我目前正在编写 Pyspark_2.2.1 独立应用程序,使用 MongoDB_2.6 作为数据库,使用 2.2.1 版本的 mongo-spark 连接器。使用 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/.
在这里,即使 DefaultPartitioner 也不起作用。我得到同样的错误。
任何帮助,将不胜感激。谢谢

【问题讨论】:

    标签: python mongodb apache-spark pyspark runtime-error


    【解决方案1】:

    似乎是指定 .option("key","value") 时的问题。我在实例化 SparkSession 时确实提到了这一点:

    spark = SparkSession \
            .builder \
            .appName("data_pull") \
            .master("local") \
            .config("spark.mongodb.input.partitioner" ,"MongoPaginateBySizePartitioner") \
            .getOrCreate()
    

    MongoDefaultPartitioner 用户 $sample 聚合似乎也来自 Mongo3.2

    【讨论】:

      猜你喜欢
      • 2015-04-15
      • 1970-01-01
      • 1970-01-01
      • 2019-06-21
      • 2023-04-03
      • 1970-01-01
      • 2019-09-30
      • 1970-01-01
      相关资源
      最近更新 更多