我正在使用 Hadoop 示例程序 WordCount 来处理大量小文件/网页(cca. 2-3 kB)。由于这与 hadoop 文件的最佳文件大小相去甚远,因此程序非常慢。我想这是因为设置和撕裂工作的成本远高于工作本身。这样的小文件也会导致文件名的命名空间耗尽。
我读到在这种情况下我应该使用 HDFS 存档(HAR),但我不确定如何修改这个程序 WordCount 以从这个存档中读取。程序可以在不修改或需要修改的情况下继续工作吗?
即使我在档案中打包了很多文件,问题仍然存在,这是否会提高性能。我读到即使我打包多个文件,一个存档中的这些文件也不会被一个映射器处理,而是很多,在我的情况下(我猜)不会提高性能。
如果这个问题太简单,请理解我是 Hadoop 新手,对它的经验很少。