исключение 'java.lang.NegativeArraySizeException' при чтении дампа MongoDB - PullRequest
0 голосов
/ 18 апреля 2019

Я пытался поиграть с mongo-hadoop, читая несколько дампов MongoDB, но до сих пор я застрял, читая их (во-первых, не уверен, выбирает ли он дампы в пути).

Как сказано в заголовке, он выдает java.lang.NegativeArraySizeException всякий раз, когда я пытаюсь собрать содержимое RDD.Формат файла дампа .gzip (он тоже распакован в директории)

        val mongoConfig = new Configuration()
        mongoConfig.set("mapred.input.dir", "/Users/example/dir_with_dumps")
        mongoConfig.set("mongo.job.input.format", "com.mongodb.hadoop.BSONFileInputFormat")

        val documents = sparkContext.newAPIHadoopRDD(
          mongoConfig,
          classOf[BSONFileInputFormat],
          classOf[Object],
          classOf[BSONObject]
        )

        documents.collect()

И полученная трассировка стека ...

Exception in thread "main" java.lang.NegativeArraySizeException
at java.util.Arrays.copyOf(Arrays.java:3236)
at org.bson.LazyBSONDecoder.decode(LazyBSONDecoder.java:59)
at com.mongodb.hadoop.splitter.BSONSplitter.splitFile(BSONSplitter.java:240)
at com.mongodb.hadoop.splitter.BSONSplitter.readSplitsForFile(BSONSplitter.java:205)
at com.mongodb.hadoop.BSONFileInputFormat.getSplits(BSONFileInputFormat.java:128)
at org.apache.spark.rdd.NewHadoopRDD.getPartitions(NewHadoopRDD.scala:127)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:253)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:251)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:251)
at org.apache.spark.rdd.RDD$$anonfun$take$1.apply(RDD.scala:1337)
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
at org.apache.spark.rdd.RDD.withScope(RDD.scala:363)
at org.apache.spark.rdd.RDD.take(RDD.scala:1331)

Любая подсказка, как решить эту проблему?Может ли это быть что-то связанное с форматом?

Я видел этот связанный вопрос PySpark: пустой RDD при чтении сжатых файлов BSON , но здесь не применяется, так как работа с Scala отсутствует.не любой .BSONFileRDD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...