• hadoop的文件系统FileSystem


    FileSystem是一个文件系统的实例,这个文件系统可以是hdfs,也可以是本地的文件系统 。

    一  获得hdfs的文件系统

         String uri = "hdfs://10.0.0.134:9000";
         Configuration conf = new Configuration();
         conf.set("fs.default.name", "hdfs://10.0.0.134:9000");

         //该方法得到文件系统,其实用到的只是hdfs的url
         FileSystem fs = FileSystem.get(URI.create(uri), conf);

         // 这种方式也能得到,其实只用到conf中的一个属性:hdfs的访问地址
         fs = FileSystem.get(conf);

         //得到本地的文件系统

         FileSystem fsLocal = FileSystem.getLocal(conf);

         //获得路径下的所有子文件路径
         FileStatus[] globStatus = fs.listStatus(new Path("/user/hadoop/crawl/news/crawl_input/"));

          //读取路径下的所有SequenceFile 。

          for (FileStatus fsFile : globStatus) {
                System.out.println(fsFile.getPath());
                CrawlDatum crawlDatum = new CrawlDatum();
                Text text = new Text();
                SequenceFile.Reader in = new SequenceFile.Reader(fs, fsFile.getPath(), new Configuration());
                while (in.next(text, crawlDatum)) {
                    urlSet.add(text.toString());
                    out.println(crawlDatum);
                    out.println(text);
                    text = new Text();
                    crawlDatum = new CrawlDatum();
                }
                System.out.flush();
            }

  • 相关阅读:
    通过修改manifest文件来解决Vista/Win7/Win8/win10下应用程序兼容性问题
    windows下django开发环境配置
    Django网站实例效果
    手动下载Linux安装包perf
    【Nginx】负载配置
    【VIM】常用命令
    【CentOS7】SCP服务器间传文件
    【CentOS7】目录统计du命令
    【CentOS7】安装GraphicsMagick
    【Nginx】限流配置
  • 原文地址:https://www.cnblogs.com/serendipity/p/2119857.html
Copyright © 2020-2023  润新知