zoukankan      html  css  js  c++  java
  • 读取hdfs文件系统里的文件

    hadoop的文件系统在程序代码里面用起来就如我们本地的文件系统一样,可以从里面读取文件,存入文件,等等。

    下面我们来演示一个从hdfs中的一个目录里,读取这个目录下所有文件的文件名的程序。

     1 import org.apache.hadoop.conf.Configuration;
     2 import org.apache.hadoop.fs.*;
     3 import org.apache.hadoop.mapreduce.lib.input.FileSplit;
     4 import org.junit.Test;
     5 
     6 import java.io.IOException;
     7 import java.net.URI;
     8 
     9 /**
    10  * Created with IntelliJ IDEA.
    11  * User: Isaac Li
    12  * Date: 12/11/12
    13  * Time: 9:42 AM
    14  * To change this template use File | Settings | File Templates.
    15  */
    16 public class WordCountTest {
    17     @Test
    18     public void test(){
    19         Configuration conf = new Configuration();
    20         try {
    21             //创建一个文件系统实例
    22             FileSystem hdfs = FileSystem.get(URI.create("hdfs://10.40.30.173:9000/user/root/input"), conf);
    23             //文件状态
    24             FileStatus[] inputFiles = hdfs.listStatus(new Path("hdfs://10.40.30.173:9000/user/root/input"));
    25             //输出文件名
    26             for(int i = 0; i < inputFiles.length; i++){
    27                 System.out.println(inputFiles[i].getPath().getName());
    28         }
    29         }catch(IOException e){
    30             e.printStackTrace();
    31         }
    32     }
    33 }

    代码重现步骤:

    1. 安装hadoop的相关jar包

    2. 将此段代码复制到你的eclipse或者其他IDE

    3. 将代码中hdfs的URI,改成你的hdfs的URI

    4. 运行代码,即可输出你指定的hdfs的文件夹下的所有文件

  • 相关阅读:
    安卓系统浏览器中select下拉按钮无法弹出选择面板奇怪问题解决
    Webkit浏览器点击控件时出现的边框消除
    UML序列图总结
    UML序列图总结
    UML类图几种关系的总结
    UML类图几种关系的总结
    UML用例图总结
    UML用例图总结
    类与类之间的关系
    java核心技术----Object类
  • 原文地址:https://www.cnblogs.com/hengli/p/2812463.html
Copyright © 2011-2022 走看看