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