【发布时间】:2012-05-04 06:30:02
【问题描述】:
我必须处理大量数据。我希望使用分布式计算(可扩展)对其进行处理。 我正在从 apache Solr 获取数据。在传递特定输入时,我从 apache solr 得到一个巨大的数据集。对于这个数据集中的每条记录,我会将主键传递给 REST api 以获得一些将附加到记录的信息。然后每条记录都会进行一些更新。最终巨大集合中的每个更新的对象都将作为单独的 xml 文件写入一个文件夹中。
hadoop 是否适用于这种特定场景?。我在 hadoop mapreduce 文档中看到了 wordcount 示例。我试图以类似的方式考虑我的情况,其中 map reduce 为 2 个节点发出的 map 将是
Node1 - Map<InputIdToSolr1,Set<RecordsFromSolr1to500>>
Node2 - Map<InputIdToSolr1,Set<RecordsFromSolr500to1000>>
然后这个结果将由 hadoop 中的 reduce 函数组合。与 wordcount 不同,我的节点在 map 中每个节点只有一个元素。我不确定使用 hadoop 是否有意义。 我可以使用哪些其他选项/开源 java 项目来扩展记录的处理。我从春天看到了 Terracotta,但它似乎是一个商业应用程序。
【问题讨论】:
-
我看不出它为什么不起作用的原因。我正在处理类似的场景,并从基于 REST 的服务中获取结果并将其传递给 Hadoop
-
我不敢说它不起作用。我只是在开始之前分析所有内容。你能告诉我在这种情况下我使用 hadoop 的方法是否正确/不正确
标签: java solr hadoop mapreduce