java.io.FileSystem在java.io中不公开;无法从外部包裹访问 这是编译器指向的行
FileSystem fs = FileSystem.get(configuration);
我不明白为什么无法访问它。这是进口
import java.io.*;
import java.io.FileSystem;
import java.nio.file.Paths;
import org.apache.hadoop.io.SequenceFile;
import org.apache.hadoop.io.SequenceFile.Writer;
import org.apache.hadoop.io.*;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.*;
import java.util.*;
import java.io.Writer;
import org.apache.hadoop.*;
答案 0 :(得分:3)
错误的FileSystem
对象以及错误的Paths
对象。你想要:
org.apache.hadoop.fs.FileSystem
org.apache.hadoop.fs.Path
您正在处理Hadoop FileSystem而不是默认的Java实现。回想一下,hadoop fs -ls
fs
表示命令行上的文件系统。
答案 1 :(得分:1)
替换
import java.io.FileSystem;
与
import org.apache.hadoop.fs.FileSystem;