FilesystemReader输出HDFS上的文件内容

来源:互联网 发布:淘宝网站推广软件 编辑:程序博客网 时间:2024/05/16 10:48

代码如下:

import java.io.InputStream;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
public class FileSystemReader {
    public static void main(String[] args)throws Exception{
            Configuration configuration=new Configuration();//3 封装了客户端或者服务器的配置信息,core-site.xml
            String uri=args[0];//获取程序运行时的输入参数
            FileSystem filesystem=FileSystem.get(URI.create(uri),configuration);/*FileSystem 4 利用程序的运行是的文件路径
            和名字以及客户端的配置信息,生成一个FileSystem实例*/
            InputStream inputStream=null;//1 java.io.Inputstream 获取守护如流实例句柄
            try{
                inputStream=filesystem.open(new Path(uri)); //org.apache.hadoop.fs.Path 5 利用文件的路径的名称生成实例
                IOUtils.copyBytes(inputStream, System.out, 4096,false);//把读取的数据流通过System.out方法输出
            }finally{
                IOUtils.closeStream(inputStream);
            }
    }

}


0 0
原创粉丝点击