上傳檔案到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("下載失敗");
	}
}
Categories: HadoopJava