gpt4 book ai didi

Hadoop 较小的输入文件

转载 作者:可可西里 更新时间:2023-11-01 15:00:11 25 4
gpt4 key购买 nike

我正在以一种稍微不同的方式使用 hadoop。就我而言,输入大小非常小。但是,计算时间更多。我有一些复杂的算法,我将在每一行输入上运行。因此,即使输入大小小于 5mb,整体计算时间也超过 10 小时。所以我在这里使用hadoop。我正在使用 NLineInputFormat 按行数而不是 block 大小拆分文件。在我最初的测试中,我有大约 1500 行(拆分为 200 行),与在一台机器上串行运行相比,我发现在四节点集群中只提高了 1.5 倍。我正在使用虚拟机。这可能是问题所在,还是对于较小的输入,hadoop 不会带来太多好处?任何见解都会非常有帮助。

最佳答案

对我来说,您的工作量类似于 SETI@Home 的工作量——小的有效载荷,但需要数小时的处理时间。

Hadoop(或更具体地说是 HDFS)并非为大量小文件而设计。但我怀疑这是 MapReduce 的问题 - 您正在使用的处理框架。

如果您想将工作量集中在一起:1) 如果文件小于 block 大小,则将它们拆分为单独的文件(一个工作负载,一个文件),然后它将转到一个映射器。典型的 block 大小为 64MB 或 128MB

2) 为 FileInputFormat 创建一个包装器,并将“isSplitable()”方法重写为 false。这将确保将整个文件内容提供给一个映射器,而不是 hadoop 试图逐行拆分它

引用:http://hadoopilluminated.com/hadoop_book/HDFS_Intro.html

关于Hadoop 较小的输入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15328972/

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