如何在spark中读取和解析bson转储文件?

wpcxdonn  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(334)

我有几个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转储?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题