HDFS操作之下载-GetFromHdfs

接 http://freewxy.iteye.com/admin/blogs/1102759 ,检查hdfs上是否有/user/hadoop/input文件

执行完毕后检查/home/hadoop/tmp/program_getFromHdfs_input文件是否生成

 

 

package GetFromHdfs;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class GetFromHdfs {
	  /**
	   * 将文件从hdfs上下载回local
	   * src为hdfs的来源
	   * dst为local的目的端
	   */
	  static boolean getFromHdfs(String src,String dst, Configuration conf) {
	    Path dstPath = new Path(src);
	    try {
	      // 获取操作hdfs的对象
	      FileSystem hdfs = dstPath.getFileSystem(conf);
	      // 下載
	      hdfs.copyToLocalFile(false, new Path(src),new Path(dst));
	      
	    } catch (IOException e) {
	      e.printStackTrace();
	      return false;
	    }
	    return true;
	  }
	  static public void main(String args[]){
	    Configuration conf = new Configuration();
	    String src = "/user/hadoop/input";
	    String dst = "/home/hadoop/tmp/program_getFromHdfs_input";
	    boolean status = getFromHdfs(src, dst, conf);
	    System.err.println("download? :" + status);
	    
	  }

}

 

1、将该java代码打包为HelloHadoop.jar

    选择程序入口时注意如图选择:

--------------------------------------------------------------------------------------------------------------------------------------


HDFS操作之下载-GetFromHdfs
-----------------------------------------------------------------------------------------------------------------------------------

2、将HelloHadoop.jar从workspace复制到/usr/local/hadoop目录下(你自己的hadoop目录下)

3、运行hadoop框架(伪分布式):   $ bin/start-all.sh

4、运行HelloHadoop.jar :     $bin/hadoop jar HelloHadoop.jar
HDFS操作之下载-GetFromHdfs