手机
当前位置:查字典教程网 >编程开发 >Java >hadoop的hdfs文件操作实现上传文件到hdfs
hadoop的hdfs文件操作实现上传文件到hdfs
摘要:hdfs文件操作操作示例,包括上传文件到HDFS上、从HDFS上下载文件和删除HDFS上的文件,大家参考使用吧复制代码代码如下:import...

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;

}

}

【hadoop的hdfs文件操作实现上传文件到hdfs】相关文章:

java向文件末尾添加内容示例分享

Java编程思想里的泛型实现一个堆栈类 分享

java读取文件显示进度条的实现方法

Spring实现文件上传(示例代码)

java 获取项目文件路径实现方法

java操作XML实例代码

java制作复制文件工具代码分享

SpringMVC文件上传 多文件上传实例

struts2单个文件上传的两种实现方式

java开发之读写txt文件操作的实现

精品推荐
分类导航