gpt4 book ai didi

java - 用于大型文本文件的 Hadoop InputSplit

转载 作者:可可西里 更新时间:2023-11-01 17:01:29 26 4
gpt4 key购买 nike

在 hadoop 中,我想将一个文件(几乎)平均分配给每个映射器。该文件很大,我想使用在作业开始时定义的特定数量的映射器。现在我已经自定义了输入拆分,但我想确保如果我将文件拆分为两个(或多个拆分)我不会将一行切成两半,因为我希望每个映射器都有完整的行而不是断行。

所以问题是,我如何在每次创建期间获得文件拆分的大致大小,或者如果这不可能,我如何估计一个大文件的(几乎)相等文件拆分的数量,因为我没有限制' 想要在任何映射器实例中有任何虚线。

最佳答案

您所要求的一切都是 Map Reduce 中的默认行为。就像映射器总是处理完整的行一样。默认情况下,Map Reduce 努力在 st 个映射器之间平均分配负载。

您可以获得更多详细信息here你可以查看 InputSplits 段落。

还有这个答案here正如@Shaw 所链接的那样,讨论了如何准确处理跨 block 拆分的行的情况。

通过阅读 hadoop bible 思考应该消除你在这方面的大部分疑虑

关于java - 用于大型文本文件的 Hadoop InputSplit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23586740/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com