gpt4 book ai didi

hadoop - 从分布式缓存或 HDFS 输出中读取

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

我正在实现一种迭代算法,该算法在每次迭代中产生一些结果,并且该结果用于下一次迭代的映射阶段。

我应该使用分布式缓存让 Mapper 可以使用该结果,还是应该从 HDFS 读取它?什么更有效?

那个文件应该不会那么大。这个想法只是在设置阶段读取它并将其保存在映射器的内存中。

谢谢

最佳答案

如果文件不是那么大并且将在映射器的设置中读取,DistributedCache 是前进的方向。当然,如果您没有阅读第二份工作的任何其他内容,那么就会回避您为什么要使用 MapReduce 工作的问题。

从 HDFS 读取(即通过 InputFormat 将文件流式传输到映射器)和使用 DistributedCache 有两个完全不同的用例。 DistributedCache 专为适合内存的小文件而设计,而使用 InputFormat 读入映射器专为只能使用分布式进程处理的大型分布式数据集而设计。

如果您的数据集足够小,可以在 DistributedCache 中使用,您可以只使用 Java 作业来处理它,避免 MapReduce 的大量开销。

关于hadoop - 从分布式缓存或 HDFS 输出中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28214233/

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