hadoop - 如何将多个零件文件放入路径

标签 hadoop path mapreduce

我试图将多个零件文件作为路径。

out 
 |
 |__ part-r-00000
 |__ part-r-00001
 |
 |__ ...
 |
 |__ ...

如何给它作为路径?
Path getall = new Path(____);

请建议

更新

正如Alexey Shestakov所建议的那样
Path more = new Path("out");
String line2 = null;
Path pathPattern = new Path(more, "part-r-*");
FileStatus [] list = fs.globStatus(pathPattern);
 for (FileStatus status : list) {
    BufferedReader bf21 = new BufferedReader(new InputStreamReader(fs.open(pathPattern)));
     while ((line2 = bf21.readLine()) != null) {
             System.out.println("Line "+line2);
       }
 }

但是显示
java.lang.Exception: java.io.FileNotFoundException: File out/part-r-* does not exist.
    at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:354)
Caused by: java.io.FileNotFoundException: File out/part-r-* does not exist.

我有一个名为out的文件夹,其中包含part-r-00000 and part-r-00001当我给
 Path pathPattern = new Path("out/part-r-0000");

我仍然无法读取特定文件夹中的所有零件文件。

最佳答案

  • 您可以在路径名中使用通配符,例如new Path("/out/part-r-*")new Path("/out/part-r-?????")。要获取所有满足给定名称的路径,可以使用globStatus方法。
  • 如果要使用map reduce作业处理这些文件,则可以将new Path("/out")用作输入路径。
  • 关于hadoop - 如何将多个零件文件放入路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23989414/

    相关文章:

    java - Hadoop 在从 Spring 批处理管理员启 Action 业时获取连接被拒绝的异常

    python - 将音频文件保存到所需路径

    php - __FILE__ 是什么意思?

    linux - ${path} 如何工作,在本教程中

    hadoop - 如何处理 hadoop 集群上的 id 生成?

    hadoop - 在 Hadoop 中并行加载和处理数据

    hadoop - Hbase Scan 返回超出范围的数据

    hadoop - MPI vs GPU vs Hadoop,这三种并行性之间的主要区别是什么?

    hadoop - 如何使用 hadoop 自定义数据类型作为配置单元表的列数据类型

    hadoop - 从 Hive 中的选择查询中排除分区字段