如何让每个mapper类在hadoop中读取同一个文件

c3frrgcw  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(390)

在hadoop工作中,除了输入数据文件外,我希望每个mapper类(map方法)读取一个公共文件,并将其放入hdfs中。此文件将读入每个Map器,并将内容保存在每个Map器中。那怎么做呢?

9vw9lbht

9vw9lbht1#

根据您的需要,有不同的方法:
直接从每个Map器中的hdfs读取文件。只有当公共文件非常小时才建议这样做。
使用compositeinputformat一次读取每个Map器中的多个文件,执行所谓的Map端连接。两个文件将以相同的方式进行拆分和分区。
在作业设置期间将文件添加到distributedcache。该文件将存储在所有Map程序可以访问的每个节点上。

相关问题