【发布时间】:2012-01-12 07:05:44
【问题描述】:
我是 Hadoop 和 MapReduce 的新手。我在其中有一些目录和文件(每个文件 10 MB 大,N 可能是 100。文件可能已压缩或未压缩),例如: 我的目录 1/文件 1 我的目录 1/文件 2 ... MyDir1/文件N
MyDir2/file1 我的目录2/文件2 ... MyDir3/文件N
我想设计一个 MapReduce 应用程序,其中一个映射器或减速器将处理整个 MyDir1,即我不希望 MyDir1 被拆分到多个映射器中。同样,我希望 MyDir2 完全由其他映射器/减速器处理而不会拆分。
知道如何解决这个问题吗?我需要编写自己的 InputFormat 并读取输入文件吗?
【问题讨论】:
-
我其实有同样的两个要求。我需要不要拆分文件,因为文件顶部有标题信息。我需要每个映射器一个目录,以便我可以按顺序处理该目录中的文件,因为对文件进行排序(按日期/时间)比对单个行进行排序更有效。