在运行hadoop时,在输入文件夹中有n个文件,每个文件有1行,与输入文件夹中有1个文件有n行有区别吗?
如果有 n 个文件,“InputFormat”是否将其全部视为 1 个连续文件?
有很大的不同。它经常被称为“小文件问题”,这与 Hadoop 希望将大量输入拆分为较小的任务,而不是将较小的输入收集到较大的任务这一事实有关。
看看 Cloudera 的这篇博文:http: //www.cloudera.com/blog/2009/02/02/the-small-files-problem/
如果您可以避免创建大量文件,请这样做。尽可能连接。大型可拆分文件对于 Hadoop 来说要好得多。
我曾经在 netflix 数据集上运行过 Pig。处理几场演出就花了几个小时。然后我将输入文件(我认为它是每部电影的一个文件,或者每个用户的一个文件)连接到一个文件中——在几分钟内得到了我的结果。