hadoop的hdfs文件操作实现上传文件到hdfs
hdfs文件操作操作示例,包括上传文件到hdfs上、从hdfs上下载文件和删除hdfs上的文件,大家参考使用吧
import org.apache.hadoop.conf.configuration;
import org.apache.hadoop.fs.*;
import java.io.file;
import java.io.ioexception;
public class hadoopfile {
private configuration conf =null;
public hadoopfile(){
conf =new configuration();
conf.addresource(new path("/hadoop/etc/hadoop/core-site.xml"));
}
public hadoopfile(configuration conf){
this.conf =conf;
}
public boolean sendfile(string path,string localfile){
file file=new file(localfile);
if (!file.isfile()) {
system.out.println(file.getname());
return false;
}
try {
filesystem localfs =filesystem.getlocal(conf);
filesystem hadoopfs =filesystem.get(conf);
path hadpath=new path(path);
fsdataoutputstream fsout=hadoopfs.create(new path(path+"/"+file.getname()));
fsdatainputstream fsin=localfs.open(new path(localfile));
byte[] buf =new byte[1024];
int readbytes=0;
while ((readbytes=fsin.read(buf))>0){
fsout.write(buf,0,readbytes);
}
fsin.close();
fsout.close();
filestatus[] hadfiles= hadoopfs.liststatus(hadpath);
for(filestatus fs :hadfiles){
system.out.println(fs.tostring());
}
return true;
} catch (ioexception e) {
e.printstacktrace();
}
return false;
}
public boolean delfile(string hadfile){
try {
filesystem hadoopfs =filesystem.get(conf);
path hadpath=new path(hadfile);
path p=hadpath.getparent();
boolean rtnval= hadoopfs.delete(hadpath, true);
filestatus[] hadfiles= hadoopfs.liststatus(p);
for(filestatus fs :hadfiles){
system.out.println(fs.tostring());
}
return rtnval;
} catch (ioexception e) {
e.printstacktrace();
}
return false;
}
public boolean downloadfile(string hadfile,string localpath){
try {
filesystem localfs =filesystem.getlocal(conf);
filesystem hadoopfs =filesystem.get(conf);
path hadpath=new path(hadfile);
fsdataoutputstream fsout=localfs.create(new path(localpath+"/"+hadpath.getname()));
fsdatainputstream fsin=hadoopfs.open(hadpath);
byte[] buf =new byte[1024];
int readbytes=0;
while ((readbytes=fsin.read(buf))>0){
fsout.write(buf,0,readbytes);
}
fsin.close();
fsout.close();
return true;
} catch (ioexception e) {
e.printstacktrace();
}
return false;
}
}
下一篇: 详解java封装继承多态
推荐阅读
-
hadoop的hdfs文件操作实现上传文件到hdfs
-
Hadoop好友推荐系统-HDFS的文件上传和下载
-
JAVA操作HDFS的文件系统
-
HDFS文件系统操作文件或文件夹 博客分类: hadoop HDFS
-
大数据框架hadoop的文件系统(HDFS)命令大全 博客分类: 开源项目专题hadoop 大数据hadoop文件系统(HDFS)命令大全
-
Java访问Hadoop分布式文件系统HDFS的配置说明
-
Java访问Hadoop分布式文件系统HDFS的配置说明
-
hadoop的HDFS文件操作命令 博客分类: Hadoop hadoophdfs
-
hadoop的HDFS文件操作命令 博客分类: Hadoop hadoophdfs
-
java实现将ftp和http的文件直接传送到hdfs