当前位置: 首页 > 知识库问答 >
问题:

如何将map reduce作业的输出直接写入分布式缓存,以便传递给另一个作业

别帅
2023-03-14

我目前正在练习Map-reduce(Hadoop2.2),需要您在其中一个概念上的帮助。

我有一个用例,我想用两个工作来完成。我希望job1的输出被写入分布式缓存,并将其作为输入传递到第二个作业。

注意:这两个文件都包含非常大的数据。

找出每首古典歌曲的平均评分。

我提出的实际/预期解决方案是,我将使用两个链接作业。
1.job1:它将获得所有经典歌曲的ID,并添加到分发缓存

"How to directly send the output of a mapper-reducer to a another mapper-reducer without
 saving the output into the hdfs"

非常感谢你的帮助。

共有1个答案

谯灿
2023-03-14

如果eah记录的大小小于1MB,可以将中间结果更新为MemCached

 类似资料:
  • 问题内容: 我想将命令的每个输出作为多个参数传递给第二个命令,例如: 返回: 我想复制这些输出,例如: 我该怎么做呢?就像是: 问题答案: 您可以使用:

  • 下面是我的场景。我的工作是处理大量的csv数据,并使用Avro将其写入按日期划分的文件中。我得到了一个小文件,我想用它来更新这些文件中的一些附加条目,第二个作业我可以在需要时运行,而不是再次重新处理整个数据集。 这个想法是这样的: job1:处理大量的csv数据,将其写入压缩的Avro文件中,并按输入日期拆分为文件。源数据不按日期划分,因此此作业将做到这一点。 job2(在Job1运行之间根据需要

  • 如何在单个作业中使用Spark根据密钥写入多个输出。 相关:按键写入多个输出扩展Hadoop,一个MapRe员作业 例如。 将确保为 而将是 编辑:我最近添加了一个新的答案,包括完整的导入,皮条客和压缩编解码器,请参阅https://stackoverflow.com/a/46118044/1586965,这可能是有帮助的,除了早期的答案。

  • 我正在运行一个单节点集群并处理timeseries数据。我有一组MapReduce作业从客户端应用程序定期运行(使用Quartz crontrigger)。例如, 一切都很好。但是有时,可以同时触发多个作业,例如在凌晨00:00触发job1、job2、job3。即使设置了作业优先级,由于可用的映射槽,这些作业被发现是并行执行的。因此,对于低优先级作业,一些输入数据被遗漏了。

  • 我是selenium初学者,只是想把webDriver传递给另一个类,但没有成功。程序应该打开浏览器(“Google”)并在主类中键入一些单词,在第二个类中应该按下“Google”按钮。 以下是我的主要课程: 这是我想从主驱动程序中使用的类。 当我运行它时,它对我说: 传递:main失败:printOnScreen java.lang.NullPointerException 我做错了什么?谢谢高

  • 问题内容: 我想知道如何在Quartz中从外部传递实例变量? 下面是我想写的伪代码。如何将externalInstance传递给此Job? 问题答案: 您可以将您的实例放在schedulerContext中。要计划作业时,可以在执行以下操作之前: 您的工作类别如下: 如果您使用的是Spring,那么您实际上可以使用spring的支持来注入整个applicationContext,就像在Link中回