那么要将sequencefile中的所有记录发送到一个Map器示例吗?

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

首先,我知道这完全违背了hadoop、parallelism和mr.that的目的,我有一个非常具体的用例。
我想把一个完整的序列文件的内容,不管多大,发送到一个单一的Map器示例,但不知道如何处理这个。
我知道我可以通过使用身份Map器在reducer中实现这一点,但我不想通过排序/分组的开销将数据放入reducer。
我也知道我可以在本地读取序列文件而不需要Map器或缩减器,但这也不适合我的用例。

y1aodyip

y1aodyip1#

只需增加块大小,使文件的大小略大于文件的大小。这将确保文件转到单个Map器。将文件放入hdfs时必须这样做。
如您所述,由于这些文件是由另一个mr生成的:
您可以创建inputformat并重写getsplits()方法。
getsplits()返回inputsplits数组。返回单个拆分,而不是将其拆分为多个部分。

相关问题