上傳檔案到HDFS
import java.io.IOException; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.conf.*; public class PutToHdfs { //src為本機來源,dst為HDFS上的目的 public 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; } public static void main(String [] argv) { if(putToHdfs("/home/shin/appRec38610.3gp","/user/johnson4932/video",new Configuration())) System.out.println("成功上傳"); else System.out.println("上傳失敗"); } }
從HDFS下載檔案
import java.io.IOException; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.conf.*; public class GetFromHdfs { //src為HDFS上的來源,dst為本機目的端 public 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; } public static void main(String [] argv) { if(getFromHdfs("/user/johnson4932/video/appRec38610.3gp","/home/johnson4932",new Configuration())) System.out.println("成功下載"); else System.out.println("下載失敗"); } }