HDFS工具类

来源:互联网 发布:枪神纪刷枪软件 免费 编辑:程序博客网 时间:2024/06/05 11:52
public class HdfsUtils {    public static FileSystem getFileSystem(String hdfsUrl) {        Configuration conf = new Configuration();        conf.set("fs.defaultFS",hdfsUrl);        conf.set("fs.hdfs.impl", "org.apache.hadoop.hdfs.DistributedFileSystem");        conf.set("dfs.client.read.shortcircuit","true");        conf.set("dfs.domain.socket.path","/var/lib/hadoop-hdfs/dn_socket");        //conf.addResource("hdfs-site.xml");        String username= ConfigurationManager.getProperty(Constants.HADOOP_USER_NAME);        System.setProperty("HADOOP_USER_NAME", username);        // 文件系统        FileSystem fs=null;        if (org.apache.commons.lang.StringUtils.isBlank(hdfsUrl)) {            // 返回默认文件系统  如果在 Hadoop集群下运行,使用此种方法可直接获取默认文件系统            try {                fs = FileSystem.get(conf);                fs.close();            } catch (IOException e) {                e.printStackTrace();                //logger.error("", e);            }        } else {            // 返回指定的文件系统,如果在本地测试,需要使用此种方法获取文件系统            try {                fs = FileSystem.get(URI.create(hdfsUrl.trim()), conf);            } catch (IOException e) {                e.printStackTrace();                //logger.error("", e);            }        }        return fs;    }}

原创粉丝点击