java代码对hdfs进行读写操作
两个jar包
操作代码
注意
两个jar包
pom中导入两个jar包,hadoop common和 hadoop HDFS
操作代码
public class MyReadAndWrite {
static FileSystem fs;
static {
try {
fs = FileSystem.get(new URI("hdfs://192.168.56.20:9000"),new Configuration());
} catch (IOException e) {
e.printStackTrace();
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
public void read(){
try {
FSDataInputStream is = fs.open(new Path("/mydemo/jzy/question.txt"));
FileOutputStream os = new FileOutputStream("D:\\study\\pracbox\\question01.txt");
IOUtils.copyBytes(is,os,4096,true);
} catch (IOException e) {
e.printStackTrace();
}
}
public void write(){
try {
FSDataOutputStream os = fs.create(new Path("/mydemo/jzy/aa.txt"));
FileInputStream is = new FileInputStream("D:\\study\\pracbox\\bb.txt");
IOUtils.copyBytes(is,os,4096,true);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// new MyReadAndWrite().read();
new MyReadAndWrite().write();
}
}
注意
注意进行输出操作即写入hadoop文本时,需要对其进行赋权操作
hdfs dfs -chmod -R 777 /mydeom(文件目录)