我在试着做一个简单的 NaiveBayesClassifer
使用hadoop,获取此错误
Exception in thread "main" java.io.IOException: No FileSystem for scheme: file
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1375)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:66)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1390)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:196)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:95)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:180)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:175)
at org.apache.mahout.classifier.naivebayes.NaiveBayesModel.materialize(NaiveBayesModel.java:100)
代码:
Configuration configuration = new Configuration();
NaiveBayesModel model = NaiveBayesModel.materialize(new Path(modelPath), configuration);// error in this line..
``` `modelPath` 指的是 `NaiveBayes.bin` 文件,配置对象正在打印- `Configuration: core-default.xml, core-site.xml` 我想是因为jar,有什么想法吗?
18条答案
按热度按时间fdbelqdn16#
我假设您使用maven构建示例。
请检查您要运行的jar的内容。尤其是
META-INFO/services
目录,文件org.apache.hadoop.fs.FileSystem
. 应该有系统实现类的列表。支票行org.apache.hadoop.hdfs.DistributedFileSystem
在hdfs和org.apache.hadoop.fs.LocalFileSystem
对于本地文件方案。如果是这种情况,则必须在生成期间重写引用的资源。
另一种可能是你根本没有
hadoop-hdfs.jar
但是这种可能性很低。通常如果你有正确的答案hadoop-client
它不是一个选项。bf1o4zei17#
对于maven,只要为hadoop hdfs添加maven依赖项(请参阅下面的链接)就可以解决这个问题。
http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs/2.7.1
bksxznpy18#
谢谢大卫,斯卡拉
或