代码如下,需要注意标红处,要不然会出现FileNotFound(permission deny)得错误。
package com.hadooplearn.test;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
//学习HDFS的使用
public class HdfsLearn {
//复制文件
public void copyFile(String src,String dst){
Configuration conf = new Configuration();
conf.set("mapred.job.tracker", "localhost:9001");
conf.set("fs.default.name", "hdfs://localhost:9000");
FileSystem hdfs = null;
try {
hdfs = FileSystem.get(conf);
Path srcPath = new Path(src);
Path dstPath = new Path(dst);
hdfs.copyFromLocalFile(srcPath, dstPath);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
if(hdfs != null){
try {
hdfs.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public static void main(String[] args){
System.setProperty("HADOOP_USER_NAME", "pijing");
String src = "/home/pijing/input/test1";
String dst = "/";
HdfsLearn learn = new HdfsLearn();
learn.copyFile(src, dst);
System.out.println("copy file from local file system to HDFS");
}
}