【问题标题】:Blocks and Mappers based on file size基于文件大小的块和映射器
【发布时间】:2015-07-15 16:57:38
【问题描述】:

假设我有 3 个文件要存储在 HDFS 中并希望通过 MapReduce 读取它们。

因此,HDFS 位置/omega/usecase/input 中有 3 个文件,分别为 file1.txt、file2.txt、file3.txt

这3个文件的大小是file1.txt(64MB),file2.txt(32MB),file3.txt(1MB)

还假设默认块大小为 64MB,复制因子为 3

我想知道这 3 个文件会有多少块,以及如果我编写一个读取输入目录 /omega/usecase/input 的 MapReduce 程序将执行多少个映射器

【问题讨论】:

标签: hadoop mapreduce hdfs


【解决方案1】:

HDFS 中有 3 个块(每个文件一个)。

这些块中的每一个都将被复制到三台不同的机器上。所以它们大约会占据所有文件大小的 3 倍 = 3 * (64 + 32 + 1) MB

当你执行 M/R 作业时,默认会有 3 个映射器(每个块一个)。

【讨论】:

    【解决方案2】:

    每个文件一个 3 个块(块只是一个逻辑分隔)。

    三个映射器每个块处理一个。

    【讨论】:

    • 好的..现在明白了,谢谢先生
    猜你喜欢
    • 1970-01-01
    • 2020-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多