在hadoop中,数据被分割成64mb或128mb块。假设我有一个70mb大小的文件。它是否分为64mb和6mb两个块。如果是这样,第二个块只占用6mb,那么该块中的另一个空间是浪费了还是被另一个块占用了?
hgtggwj01#
在hadoop中,通过dfs.blocksize属性写入hdfs的应用程序可以选择块大小:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml它应该是64还是128mb没有限制,但是当前的hadoop版本默认为128mb。可以在不同的文件上设置不同的块大小。如果文件的大小小于块大小,则不会浪费空间。但是,不建议有很多小文件。有关此问题以及如何解决此问题的详细信息,请参阅:https://developer.yahoo.com/blogs/hadoop/hadoop-archive-file-compaction-hdfs-461.html
dced5bon2#
没有浪费任何空间。如果第二个块占用的空间比剩余的56mb大6mb,则为其他文件分配任何空间。
2条答案
按热度按时间hgtggwj01#
在hadoop中,通过dfs.blocksize属性写入hdfs的应用程序可以选择块大小:
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
它应该是64还是128mb没有限制,但是当前的hadoop版本默认为128mb。
可以在不同的文件上设置不同的块大小。
如果文件的大小小于块大小,则不会浪费空间。但是,不建议有很多小文件。有关此问题以及如何解决此问题的详细信息,请参阅:https://developer.yahoo.com/blogs/hadoop/hadoop-archive-file-compaction-hdfs-461.html
dced5bon2#
没有浪费任何空间。如果第二个块占用的空间比剩余的56mb大6mb,则为其他文件分配任何空间。