我有几个bz2 mongo db bson转储在hdfs中需要分析。我使用的是spark 2.0.1和scala 2.11.8。现在我用的是Spark壳。
我尝试使用mongo spark connector创建rdd,如下所示-
val rdd = sc.newAPIHadoopFile(path="hdfs:///pathtofile/dump.bson.bz2",
classOf[com.mongodb.hadoop.BSONFileInputFormat].asSubclass(classOf[org.apache.hadoop.mapreduce.lib.input.FileInputFormat[Object, org.bson.BSONObject]]),
classOf[Object],
classOf[org.bson.BSONObject])
然后简单地用 rdd.take(1)
.
这让我 java.lang.IllegalStateException: unread block data.
我还尝试了提取bz2档案的相同步骤。它会导致同样的错误。
我该如何处理上述错误?有没有其他方法可以读取spark中的bson转储?
暂无答案!
目前还没有任何答案,快来回答吧!