gpt4 book ai didi

java - 单词 “hdfs”中的错字给我: “java.io.IOException: No FileSystem for scheme: hdfs”。在hadoop 2.7.7上使用FileSystem lib

转载 作者:行者123 更新时间:2023-12-02 20:28:24 24 4
gpt4 key购买 nike

使用FileSystem.get(URI.create("hdfs://localhost:9000/"), configuration)时,出现错误“单词hdfs中的拼写错误”,当我尝试运行该代码时,出现IOException:

    java.io.IOException: No FileSystem for scheme: hdfs
at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2658)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2665)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:93)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2701)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2683)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:372)
at com.oracle.hadoop.client.Test.main(Test.java:53)

我已经尝试过以不同的方式使用对hdfs的调用,我正在使用hadoop 2.7.7的库。

这是我当前的代码:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import org.apache.log4j.BasicConfigurator;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;

public class Test {

public static void main(String []args) {
Configuration conf = new Configuration();
InputStream in = null;

try {
FileSystem fs = FileSystem.get(URI.create("hdfs://localhost:9000/"), conf);
in = fs.open(new Path(uri));
IOUtils.copyBytes(in, System.out, 4096, false);
} catch (IOException e) {
e.printStackTrace();
} finally {
IOUtils.closeStream(in);
}
}

最佳答案

实际上,我只是添加了这个Maven依赖项:http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs/2.7.7Maven pom.xml并解决了问题。

关于java - 单词 “hdfs”中的错字给我: “java.io.IOException: No FileSystem for scheme: hdfs”。在hadoop 2.7.7上使用FileSystem lib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54655045/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com