hadoop - 如何使 Hadoop MR 只读文件而不是输入路径中的文件夹

标签 hadoop mapreduce recordreader

根据我们的要求,一个作业的输出将是另一个作业的输入。

通过使用多输出概念,我们在输出路径中创建一个新文件夹并将这些记录写入文件夹。这是它的样子:

OPFolder1/MultipleOP/SplRecords-m-0000*
OPFolder1/part-m-0000* files

当新作业使用输入作为 OPFolder1 时,我遇到以下错误

org.apache.hadoop.hdfs.DistributedFileSystem.open(DistributedFileSystem.java:298)
    at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:766)
    at org.apache.hadoop.mapreduce.lib.input.LineRecordReader.initialize(LineRecordReader.java:85)
    at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.initialize(MapTask.java:548)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:786)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
    at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
    org.apache.hadoop.ipc.RemoteException(java.io.FileNotFoundException): Path is not a file: /user/abhime01/OPFolder1/MultiplOP/

有什么方法或属性可以使 hadoop 只读取文件而不是文件夹。

最佳答案

mapreduce.input.fileinputformat.input.dir.recursive 设置为 true。参见 FileInputFormat doesn't read files recursively in the input path dir .

关于hadoop - 如何使 Hadoop MR 只读文件而不是输入路径中的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35429127/

相关文章:

multithreading - Delphi 有 MapReduce 库吗?

用于打开受密码保护的 zip 文件的 Java 代码,该文件只能在 mac OS 中使用 7zx 和 keka 打开

java - 如何使用 Hadoop Mapreduce 将 EBCDIC 转换为 TEXT

hadoop - 运行 PIG 脚本时出错

hadoop - 如何增加 Tez 的容器物理内存?

hadoop - Apache Pig:联接后拼合列名

testing - Hadoop Map Reduce测试-自定义记录读取器

hadoop - yarn : How to utilize full cluster resources?

java - 预期为BEGIN_OBJECT,但在第1行第6列处为STRING

Hadoop 入门项目建议