hadoop在ecplise实现上传下载操作

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运行的一样的

发布了6 篇原创文章 · 获赞 0 · 访问量 30

猜你喜欢

转载自blog.csdn.net/weixin_41487978/article/details/105205361