hadoop在ecplise实现上传下载操作
package exer01;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class MyWork01 {
public static void main(String[] args) throws IOException {
Configuration conf=new Configuration();
conf.set("fs.default.name","hdfs://0.0.0.0:9000");
FileSystem fs=FileSystem.get(conf);
//本地地址
String uriLocal="/home/fafa/桌面";
String uriFromLocalSourse="/home/fafa/桌面/last/file.txt";
String uriFromLocalSourseCRC="/home/fafa/桌面/last/file.txt.crc";
String uriFromLocalTarget="hdfs://0.0.0.0:9000/wb/";
String fileName1="file.txt";
String fileName2="123456789.txt";
Path path_FromLocalSourseCRC=new Path(uriFromLocalSourseCRC);
Path path_FromLocalSourse=new Path(uriFromLocalSourse);
Path path_FromLocalTarget=new Path(uriFromLocalTarget);
Path path_uriLocal=new Path(uriLocal);
//修改名字用到的路径
Path path_FromLocalTarget1=new Path(uriFromLocalTarget+fileName1);
Path path_FromLocalTarget2=new Path(uriFromLocalTarget+fileName2);
//先验证有没有crc再进行上传操作
if(fs.exists(path_FromLocalSourseCRC)){
System.out.println("CRC文件已经存在!,开始删除!");
fs.delete(path_FromLocalSourseCRC, true);
System.out.println("删除成功!");
}
System.out.println("开始上传文件:源地址:"+uriFromLocalSourse+"目标地址:"+uriFromLocalTarget);
fs.copyFromLocalFile(false,true,path_FromLocalSourse, path_FromLocalTarget);
System.out.println("上传成功!");
//更改文件名字
if(fs.exists(path_FromLocalTarget1)){
System.out.println("文件存在!地址为:"+path_FromLocalTarget1);
System.out.println("开始将更改名为123456789");
if(fs.rename(path_FromLocalTarget1,path_FromLocalTarget2)){
System.out.println("修改成功!");
}else{
System.out.println("修改失败!文件不存在或已重名!");
}
}
//下载到本地
if(fs.exists(path_FromLocalTarget2)){
System.out.println("文件存在!地址为:"+path_FromLocalTarget2);
System.out.println("开始下载到本地,地址为:"+uriLocal);
fs.copyToLocalFile(false, path_FromLocalTarget2, path_uriLocal);
System.out.println("下载完成!");
}
}
}
运行成功后,将类文件在jar file export 出来 为myhadoop01.jar
然后在终端hadoop jar myhadoop01.jar运行后效果跟ecplise运行的一样的