HDFS 中写下数据

HDFS 中写入数据

 

import java.io.BufferedInputStream;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.URI;

 

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.IOUtils;

import org.apache.hadoop.util.Progressable;

public class FileCopyWithProgress {

public static void main(String[] args) throws IOException{

String localSrc = "e://45025778_18.txt";

String hdfsDest = "hdfs://192.168.1.150:9000/tmp/a.txt"; // HDFS中存储的文件名

InputStream in = new BufferedInputStream(new FileInputStream(localSrc));

Configuration conf = new Configuration();

FileSystem fs =  FileSystem.get(URI.create(hdfsDest), conf);

OutputStream out = fs.create(new Path(hdfsDest),new Progressable(){

public void progress(){

System.out.println(".");

}

});

IOUtils.copyBytes(in, out, 4096,true);

}

}