我有一个小文件的MR代码,15gb的单个文件需要7分钟。但对于37gb的多个文件来说,它花费了太多时间,并且始终显示在1分钟内完成1%的百分比。请推荐我。
MapReduce从来不是为低延迟而设计的。MapReduce的理念是,您有并行处理所有数据的情况。关键思想是通过并行来减少时间。
以wordcount为例。比方说,你想在50 GB上运行一个wordcount。在一台机器上运行此程序可能需要很长时间。将其并行到10台机器意味着每台机器并行5 GB。这是一个进步。这就是MapReduce的设计初衷。
如果您正在寻找一种快速返回结果并同时使用随机读取的技术,请考虑另一种技术。根据您的具体需求,有几种方法可以更好地解决您的问题。
这是我的错误,我在代码中放入了自定义记录器,所以每次运行MR时都会记录在MR日志文件中,这就是为什么它需要时间。