本篇文章为大家展示了JAVA API怎样进行读写HDFS,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
package demo;
import java.io.IOException;
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;
public class PutMerge {
public static void main(String[] args) throws IOException{
Configuration conf=new Configuration();
FileSystem hdfs=FileSystem.get(conf);
FileSystem local=FileSystem.getLocal(conf);
//设定输入目录于输出文件
Path inputDir=new Path(args[0]);
Path hdfsFile=new Path(args[1]);
//得到本地文件列表
FileStatus[] inputFiles=local.listStatus(inputDir);
//生成HDFS输出流
FSDataOutputStream out=hdfs.create(hdfsFile);
for(int i=0;i<inputFiles.length;i++){
System.out.println(inputFiles[i].getPath().getName());
//打开本地输入流
FSDataInputStream in=local.open(inputFiles[i].getPath());
byte buffer[]=new byte[256];
int bytesRead=0;
while((bytesRead=in.read(buffer))>0){
out.write(buffer,0,bytesRead);
}
in.close();
}
out.close();
}
}
上述内容就是JAVA API怎样进行读写HDFS,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注天达云行业资讯频道。