我正在尝试使用mongodbhadoop连接器运行一个基本的spark示例。我使用的是hadoop 2.6.0版。我使用的是mongohadoop的1.3.1版本。我不确定这个hadoop版本的jar到底放在哪里。以下是我尝试过的地点:
$hadoop\u home/libexec/share/hadoop/mapreduce文件
$hadoop\u home/libexec/share/hadoop/mapreduce/lib
$hadoop\u主页/libexec/share/hadoop/hdfs
$hadoop\u home/libexec/share/hadoop/hdfs/lib
下面是我用来将集合加载到hadoop中的代码片段:
Configuration bsonConfig = new Configuration();
bsonConfig.set("mongo.job.input.format", "MongoInputFormat.class");
JavaPairRDD<Object,BSONObject> zipData = sc.newAPIHadoopFile("mongodb://127.0.0.1:27017/zipsdb.zips", MongoInputFormat.class, Object.class, BSONObject.class, bsonConfig);
无论jar放在哪里,我都会得到以下错误:
Exception in thread "main" java.io.IOException: No FileSystem for scheme: mongodb
at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2584)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2591)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:91)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2630)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2612)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:370)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:296)
at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.addInputPath(FileInputFormat.java:505)
at org.apache.spark.SparkContext.newAPIHadoopFile(SparkContext.scala:774)
at org.apache.spark.api.java.JavaSparkContext.newAPIHadoopFile(JavaSparkContext.scala:471)
我在hadoop日志中没有看到任何其他错误。我怀疑我的配置中遗漏了什么,或者hadoop2.6.0与这个连接器不兼容。非常感谢您的帮助。
暂无答案!
目前还没有任何答案,快来回答吧!