3
我正在使用CompositeInputFormat向hadoop作业提供输入。Hadoop文件拆分:CompositeInputFormat:内部加入
生成的分割数量是作为输入给予CompositeInputFormat(用于加入)的文件总数。
作业完全忽略块大小和最大拆分大小(同时从CompositeInputFormat中获取输入)。这导致长时间运行Map Tasks,并且由于输入文件大于块大小而导致系统变慢。
是否有人知道任何方式可以通过哪些方式为CompositeInputFormat管理分割数量?
我已经在使用减速器的最大数量。我需要更小块大小的多个地图波。目前,地图任务太大,造成性能问题,有时还会造成任务失败。 – TheHat 2011-12-29 05:39:33
我不认为你正在理解我在说什么。问题是,当使用CompositeInputFormat时,您无法通过输入拆分来分割地图任务。解决这个问题的方法是自己手动分割文件。所以,把你的大文件分割成更小的文件。一种方法是我在第二段中提出的建议。顺便说一下,没有减速器的最大数量这样的事情。 – 2011-12-29 13:04:50
我的输入是一个不同的mapreduce作业的输出。 mapreduce作业的输出文件数量等于所使用的reducer任务的数量。 redcuer任务的最大数量等于集群的reducer任务容量。在这种情况下,运行一个mapreduce作业,然后拆分文件,然后运行另一个mapreduce作业并不适合作为解决方案。 – TheHat 2012-01-02 11:16:10