我正在运行Hadoop的一个项目,需要一个建议。
默认情况下,Hadoop的“块大小”约为64 of。
还有人建议不要使用许多/小文件。
由于水槽的应用程序设计,我目前正在将非常小的文件放入HDFS中。
问题是,Hadoop <= 0.20不能附加到文件中,因此我有太多的文件供我的地图使用
必须有一种正确的方法,简单地将大约100个文件滚动/合并为一个。
因此Hadoop有效地读取了一个大文件,而不是10个。
有什么建议吗?
发布于 2010-12-09 00:51:55
Media6degrees已经想出了一个很好的解决方案来合并Hadoop中的小文件。你可以直接用他们的罐子。http://www.jointhegrid.com/hadoop_文件/index.jsp
发布于 2011-01-05 13:07:24
你考虑过使用Hadoop档案吗?将它们看作HDFS的tar文件。http://hadoop.apache.org/common/docs/r0.20.2/hadoop_archives.html
发布于 2010-12-04 20:17:42
您需要做的是用一个身份映射器和一个或几个身份简化器编写一个简单的级联程序。这个程序将允许您将小文件连接到几个大文件中,以减轻Hadoop上的负载。
这可能是一个相当大的任务计划,它浪费空间,但这是必要的,因为HDFS的设计。如果HDFS是一个一流的文件系统,那么处理起来就容易多了。
https://serverfault.com/questions/202270
复制相似问题