【问题标题】:Apache Hadoop(Big Data)Apache Hadoop(大数据)
【发布时间】:2015-01-22 01:13:39
【问题描述】:

在 hadoop 中,数据被分成 64mb 或 128mb 的块。假设我有一个大小为 70mb 的文件。它是否分为 64mb 和 6mb 两个块。如果是这样,那么第二个块只占用了 6mb,该块中的其他空间是浪费了还是被另一个块占用了?

【问题讨论】:

    标签: hadoop hdfs


    【解决方案1】:

    在 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

    【讨论】:

    • 带有参考文献的简洁答案。 +1
    【解决方案2】:

    不浪费任何空间。如果第二个块占用 6mb 而不是剩余的 56mb 空间,则为其他文件分配任何空间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-28
      • 2012-05-04
      相关资源
      最近更新 更多