wiki:NCHCCloudCourse100928_3_EXE
HDFS 的檔案系統操作
上傳

回課程大綱 << 第一關 > 下一關

Ex1. 從 local 上傳資料到 hdfs

  • 請在 local 端建立資料: /home/hadoop/input
  • 請檢查 hdfs 無該資料夾: /user/hadoop/program_put_input
package org.nchc.hadoop;
import java.io.IOException;

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


public class PutToHdfs {
  // 將檔案從local上傳到 hdfs , src 為 local 的來源, dst 為 hdfs 的目的端
  static boolean putToHdfs(String src, String dst, Configuration conf) {
    Path dstPath = new Path(dst);
    try {
      // 產生操作hdfs的物件
      FileSystem hdfs = dstPath.getFileSystem(conf);
      // 上傳
      hdfs.copyFromLocalFile(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 = "/home/hadoop/input";
    String dst = "/user/hadoop/program_put_input";
    boolean status = putToHdfs(src, dst, conf);
    System.err.println("create? :" + status);
    
  }
}

  • 執行後請檢查 hdfs 是否有該資料夾: /user/hadoop/program_put_input
Last modified 13 years ago Last modified on Jul 20, 2011, 1:52:07 PM