使用Hadoop编译Java时出错

时间:2013-05-29 12:04:06

标签: java hadoop

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.*;

2 个答案:

答案 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;