码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA操作HDFS

时间:2015-08-10 00:10:49      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

package hdfs;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;

 

public class App2 {
public static void main(String[] args) throws IOException, URISyntaxException {

final FileSystem fileSystem = FileSystem.get(new URI("hdfs://hadoop:9000"), new Configuration());

makdir(fileSystem);

//上传
putdata(fileSystem);

download(fileSystem);

listFile(fileSystem);

//删除
delete(fileSystem);

}


public static void listFile(final FileSystem fileSystem) throws IOException {

System.out.println("-------file list start-----------");
FileStatus[] listStatus = fileSystem.listStatus(new Path("/"));
for (FileStatus fileStatus : listStatus) {

System.out.println(fileStatus.getPath().toString());

}

System.out.println("-------file list end-----------");
}


public static void delete(final FileSystem fileSystem) throws IOException {
boolean delete = fileSystem.delete(new Path("/dir2"),true);

if (delete) {
System.out.println("-----deletet ok---------!");
}



}


public static void download(final FileSystem fileSystem) throws IOException {

FSDataInputStream in = fileSystem.open(new Path("/dir2/readme"));
IOUtils.copyBytes(in, System.out, 1024, false);
in.close();

System.out.println("------------getdata ok-------------------");
}


public static void putdata(final FileSystem fileSystem) throws IOException,
FileNotFoundException {

FSDataOutputStream out=fileSystem.create(new Path("/dir2/readme"));
FileInputStream in=new FileInputStream("/home/hadoop/hello");
IOUtils.copyBytes(in, out, 1024, true);
System.out.println("update ok");

}


public static void makdir(final FileSystem fileSystem) throws IOException {
boolean successful=fileSystem.mkdirs(new Path("/dir2"));

if(successful){

System.out.println("mkdir ok");
}
}

}

JAVA操作HDFS

标签:

原文地址:http://www.cnblogs.com/thinkpad/p/4716516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!