概述
- package 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 HDFSTest01 {
- /**
- * 文件上传
- * @param src
- * @param dst
- * @param conf
- * @return
- */
- public static boolean put2HSFS(String src , String dst , Configuration conf){
- Path dstPath = new Path(dst) ;
- try{
- FileSystem hdfs = dstPath.getFileSystem(conf) ;
- // FileSystem hdfs = FileSystem.get( URI.create(dst), conf) ;
- hdfs.copyFromLocalFile(false, new Path(src), dstPath) ;
- }catch(IOException ie){
- ie.printStackTrace() ;
- return false ;
- }
- return true ;
- }
- /**
- * 文件下载
- * @param src
- * @param dst
- * @param conf
- * @return
- */
- public static boolean getFromHDFS(String src , String dst , Configuration conf){
- Path dstPath = new Path(dst) ;
- try{
- FileSystem dhfs = dstPath.getFileSystem(conf) ;
- dhfs.copyToLocalFile(false, new Path(src), dstPath) ;
- }catch(IOException ie){
- ie.printStackTrace() ;
- return false ;
- }
- return true ;
- }
- /**
- * 文件检测并删除
- * @param path
- * @param conf
- * @return
- */
- public static boolean checkAndDel(final String path , Configuration conf){
- Path dstPath = new Path(path) ;
- try{
- FileSystem dhfs = dstPath.getFileSystem(conf) ;
- if(dhfs.exists(dstPath)){
- dhfs.delete(dstPath, true) ;
- }else{
- return false ;
- }
- }catch(IOException ie ){
- ie.printStackTrace() ;
- return false ;
- }
- return true ;
- }
- /**
- * @param args
- */
- public static void main(String[] args) {
- // String src = "hdfs://xcloud:9000/user/xcloud/input/core-site.xml" ;
- String dst = "hdfs://xcloud:9000/user/xcloud/out" ;
- String src = "/home/xcloud/cdh3/hbase-0.90.4-cdh3u2/bin/loadtable.rb" ;
- boolean status = false ;
- Configuration conf = new Configuration() ;
- status = put2HSFS( src , dst , conf) ;
- System.out.println("status="+status) ;
- src = "hdfs://xcloud:9000/user/xcloud/out/loadtable.rb" ;
- dst = "/tmp/output" ;
- status = getFromHDFS( src , dst , conf) ;
- System.out.println("status="+status) ;
- src = "hdfs://xcloud:9000/user/xcloud/out/loadtable.rb" ;
- dst = "/tmp/output/loadtable.rb" ;
- status = checkAndDel( dst , conf) ;
- System.out.println("status="+status) ;
- }
- }
参考:
hadoop-0.20_程式设计.pdf 见 http://www.linuxidc.com/Linux/2012-01/50878.htm
最后
以上就是靓丽樱桃为你收集整理的HDFS 使用Java api实现上传/下载/删除文件的全部内容,希望文章能够帮你解决HDFS 使用Java api实现上传/下载/删除文件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复