在我的 hadoop 工作中,除了我的输入数据文件之外,我希望每个映射器类(map 方法)读取我放入 hdfs 的公共文件。该文件将被读入每个映射器,并将内容保存在每个映射器中。那么该怎么做呢?
问问题
1766 次
1 回答
4
根据您的需求,有不同的方法:
- 在每个映射器中直接从 HDFS读取文件。仅当公共文件非常小时才建议这样做。
- 在执行所谓的 map-side-join 时,使用CompositeInputFormat在每个映射器中一次读取多个文件。这两个文件将以相同的方式进行拆分和分区。
- 在作业设置期间将文件添加到DistributedCache 。该文件将存储在所有映射器都可以访问的每个节点上。
于 2013-03-12T21:57:51.973 回答