我不明白哪些类型的应用可以与Hadoop一起使用。是否必须为hadoop / mapreduce定制每项任务。例如,您是否可以将任何长时间运行的java与之关联起来?或者您是否必须为hadoop定制您的应用程序/任务。我想一个很好的例子就是使用lucene和hadoop进行索引。
答案 0 :(得分:1)
MapReduce是一种处理模型;它会准确地告诉您处理任务应该适合的内容。
Hadoop确实(除其他外)MapReduce具有额外的优势,即您可以在1000个系统上实际可靠地运行作业(如果您有足够的独立部分)。
鉴于这些限制:有些事情无法完成,很多事情都可以完成。 分析日志文件(即一大组独立行)甚至是网络分析(每个访问者/会话都可以单独处理)是最常见的应用程序。
所以,是的,您的任务必须转换为适合模型才能发挥作用。
答案 1 :(得分:0)
Hadoop实际上是一个用于进程拆分/组合的引擎。您将任务拆分为类似的数据集[map],然后将相似的集合组合成结果[reduce / merge]。
它是制作并行应用程序的一种方法。 map和reduce被分发到集群内的不同节点。它是一个非常严格的任务划分和可以在进程之间传递的数据[必须可序列化并与其他映射中的数据断开连接/减少]
答案 2 :(得分:0)
基本上,您必须能够将任务“拆分”为独立任务。