gpt4 book ai didi

java - 如何将附加数据传递给 Mapper?

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

由于一些数据在所有 map() 函数之间共享,我无法在 setup() 中生成它们,因为每个 setup() 对应于每个map() 函数,而我想做的是预先生成一些数据并将其存储在可实现的地方,然后在每个 map() 中使用它。

我该怎么做?假设我正在使用 Mapreduce 执行 KNN,并且我想使用每个 map() 的所有测试数据。我应该在哪里存储这些测试数据,然后在映射器中使用它们?

非常感谢。

最佳答案

您可以将预先计算的数据存储到 HDFS 中,然后将其包含在作业的 DitributedCache 中。

https://hadoop.apache.org/docs/r2.6.2/api/org/apache/hadoop/filecache/DistributedCache.html

DistributedCache 中的所有文件(数据、库等)将在与作业相关的任务开始之前复制到每个节点。

分布式缓存不限于 HDFS 中的文件,但数据需要从需要它的每个节点(就像 HDFS 一样)可用。

关于java - 如何将附加数据传递给 Mapper?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35531955/

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