【问题标题】:Calculating input splits in MapReduce在 MapReduce 中计算输入拆分
【发布时间】:2018-02-11 18:33:08
【问题描述】:

文件存储在大小为 260 MB 的 HDFS 中,而 HDFS 默认块大小为 64 MB。在对这个文件执行 map-reduce 作业后,我发现它创建的输入分割数只有 4。是怎么计算的。?剩下的 4 MB 在哪里?非常感谢任何意见。

【问题讨论】:

    标签: hadoop mapreduce hadoop2 input-split


    【解决方案1】:

    输入分割并不总是一个块大小。输入拆分是数据的逻辑表示。您的输入拆分可能是 63mb、67mb、65mb、65mb(或可能基于逻辑记录大小的其他大小)...请参阅以下链接中的示例...

    Hadoop input split size vs block size

    Another example - see section 3.3...

    【讨论】:

    • 假设逻辑记录大小只有几 KB。假设文件中的每一行/记录为 1 KB,那么它将生成多少个输入拆分。?
    • 64000 个记录将形成一个 64mb 的输入分割。
    • 正确,!但是根据问题中给出的数据,当我们每行/记录为 1 KB 时,将生成多少输入拆分。?会是 4 次还是 5 次分裂?
    • 如果所有 260MB 都是 1 kb 即 260000kb 数据,则 260000/64000=4.06 输入拆分,但知道记录不会在两个输入拆分之间拆分,预计在日志中看到 ~ 4 个输入拆分
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多