【问题标题】:how many blocks will be in hdfs for 5 files of 150 mb each对于 5 个 150 mb 的文件,hdfs 中有多少块
【发布时间】:2015-01-19 15:24:06
【问题描述】:

假设有 5 个文件,每个文件 150 mb。现在,当我将这些文件放入 hdfs(其中块大小为 64 mb)时,每个文件和总块将有多少块。 还有所有文件的拆分数量。以及有多少个映射器

【问题讨论】:

    标签: java hadoop mapreduce


    【解决方案1】:

    每个文件(64mb、64mb、32mb)会有3 blocks。所以总块数5*3 = 15

    所以拆分的数量将是 15。所以映射器的数量(如果使用 FileInputFormat)= 15。

    解释:

    HDFS 不会占用整个块来存储大小

    · 客户将日期写入其中

    · writer 关闭后,认为文件已关闭 写作。即,创建的文件大小为 10MB

    · 那么该块中有 53MB 可用。这将成为;这将是 释放并添加到可用空间。

    · 因此这个文件的块只占用 10MB (block resize 会发生)

    【讨论】:

    【解决方案2】:

    您的文件存储在 hdfs 中。

    1file =100mb
    block size=64mb
    

    所以1 file split in 2 block.

    你有 5 个文件

    5*2=10blocks.
    

    每个拆分 1 个映射器,所以

     10blocks=10mapper
    

    请确认,在您的问题中,标题文件大小为 150mb,但问题为 100mb。 它将与上述相同。

    【讨论】:

    • 你的意思是对于每个文件 100mb,会有一个 64mb 的块和一个 36mb 的块?实际上我很困惑,它会将其他文件数据附加到包含 36 mb 数据的第一个文件的同一块中
    • 它不会追加,将创建新块。请参阅此博客--blog.cloudera.com/blog/2009/02/the-small-files-problem
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    • 2015-07-26
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    相关资源
    最近更新 更多