使用HDFS不会改变您导致hadoop处理大量小文件的情况。在这种情况下,最好的选择可能是
cat将文件分成一个(或几个大)文件。这将减少您拥有的映射器的数量,这将减少需要处理的事物的数量。
如果您在分布式系统上运行,则使用HDFS可以提高性能。如果仅使用伪分布式(一台计算机),则HDFS不会提高性能。限制是机器。
当您处理大量小文件时,这将需要大量映射器和精简器。设置/关闭可能与文件本身的处理时间相当,从而导致大量开销。
cat文件应该减少该作业运行的映射器hadoop的数量,从而可以提高性能。
使用HDFS存储文件可以看到的好处是可以在多台计算机上使用分布式模式。这些文件将存储在计算机之间的块中(默认为64MB),每台计算机将能够处理驻留在计算机上的数据块。这减少了网络带宽的使用,因此它不会成为处理的瓶颈。
归档文件(如果hadoop要取消归档文件)只会导致hadoop仍然具有大量小文件。
希望这有助于您的理解。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)