012_Eclipse中使用 HDFS URL API 事例介绍

本事例其实和使用hdfs FileSystem API差不多,FileSystem API也是通过解释成URL在hdfs上面执行的,性质相同,但是实际中用 的fFileSystem会多一点,源码如下:

package org.dragon.hadoop.hdfs;

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;

import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;
import org.junit.Test;

/**
 * HDFS API URL 方式操作
 * @author ZhuXY
 *
 */
public class HDFSUrlTest {
    
    //让java程序识别HDFS 的URL 通过静态代码库加载
    static{
        URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory()); //选apache的
    }
    //查看文件的内容
    @Test
    public void testRead() throws Exception,IOException{
        InputStream inputStream =null;
        
        //文件路径
        String fileUrlString="hdfs://hadoop-master:9000/wc/input/core-site.xml";
        
        try {
            //获取文件输入流
            inputStream=new URL(fileUrlString).openStream();
            
            //将文件内容读取出来,打印到控制台
            IOUtils.copyBytes(inputStream, System.out, 4096, false);            
        }
        finally{
            IOUtils.closeStream(inputStream);        
        }
    }
}
原文地址:https://www.cnblogs.com/xiangyangzhu/p/5253427.html