Java操作hadoop文件

原创
04/28 16:36
阅读数 22

package com.fiberhome.sxjg;

import java.io.InputStream;
import java.net.URI;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FileUtil;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import org.apache.hadoop.security.UserGroupInformation;

public class ListStatus {

    public static void main(String[] args) throws Exception{
        // TODO Auto-generated method stub
           String uri=args[0];
           Configuration conf=new Configuration();
           //登录Kerberos账号    
              conf.addResource(new Path("D:/hadoop/hdfs-site.xml")) ;
              conf.addResource(new Path("D:/hadoop/core-site.xml"));

           System.setProperty("java.security.krb5.conf","D:/hadoop/krb5.conf");
           conf.set("hadoop.security.authentication" , "Kerberos" );
           UserGroupInformation.setConfiguration(conf);
           UserGroupInformation.loginUserFromKeytab("sxp@DC1.FH.COM","D:/hadoop/sxp.keytab");
           FileSystem fs=FileSystem.get(URI.create(uri),conf);
           
           Path[] paths = new Path[args.length];
           for(int i = 0; i<paths.length;i++){
               paths[i] = new Path(args[i]);
           }
           FileStatus[] status = fs.listStatus(paths);
           Path[] listedPaths = FileUtil.stat2Paths(status);
           for (Path p :listedPaths){
               System.out.println(p);
           }

    }

}
 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部