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();
        }

转载于:https://www.cnblogs.com/serendipity/archive/2011/07/28/2119857.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值