繁体   English   中英

为何选择Hadoop或Spark? 有ElasticSearch

[英]Why Hadoop or Spark? There is ElasticSearch

实际上,这里有类似的问题: https//stackoverflow.com/questions/23922404/elasticsearch-hadoop-why-would-i

但答案并不能让我满意。

我的问题很简单:

  1. 当ElasticSearch存在时,我们为什么要使用Hadoop或Spark?
  2. 它是什么,Hadoop的或火花 ,而ElasticSearch 没有?
  3. 如果算法是答案,我相信我在创建算法方面并不比Kimchy好。 在Hadoop或Spark中,我们需要创建自己的算法。 再次,为什么还有Hadoop或Spark?
  4. 答案说,“Elasticsearch是一个分布式搜索引擎,它不应该用作数据仓库。”

为什么不将它用作数据仓库

感谢你并致以真诚的问候,

Rizki Sunaryo

我离分布式计算专家很远,但我在这里遗漏了什么,或者你在比较两个完全不同的东西?

Hadoop是一个分布式批处理计算平台,允许您运行数据提取和转换管道。 ES是一个搜索和分析引擎(或数据聚合平台),允许您将Hadoop作业的结果编入索引以用于搜索目的。

所以一个完整的管道将是这样的:

数据 - > Hadoop / Spark(MapReduce或其他范例) - > Curated Data - > ElasticSearch / Lucene / SOLR / etc.

您可能处于只想提取和/或转换数据的情况,并且不使用elasticsearch。 您可能还处于数据源不需要或与分布式批处理范例一起使用的情况,在这种情况下,hadoop对您没用。

您可能会感到困惑的是ES提供elasticsearch-hadoop,直接插入Hadoop为您提供“一体化”解决方案,可以这么说。

希望比我更有知识的人也可以参与其中。

我问自己同样的问题,我认为现在几乎回答了我们的问题:

Elasticsearch已经开始扩展到仅仅是搜索引擎之外,并为分析和可视化添加了一些功能,但仍然是其核心,它仍然主要是一个全文搜索引擎,并且作为查询的一部分,对复杂的计算和聚合提供的支持较少。

所以它取决于你的用例(如此多的文本分析 - > Elk;如此多的聚合和计算 - >火花)虽然它很模糊:

Elasticsearch和Apache Hadoop / Spark可能会在一些非常有用的功能上重叠,但每个工具仍然有特定用途,我们需要选择最符合给定要求的功能。 如果我们只是想通过关键字找到文档并执行简单的分析,那么ElasticSearch可能适合这项工作。 如果我们拥有大量需要各种不同类型的复杂处理和分析的数据,那么Hadoop可提供最广泛的工具和最大的灵活性。 但好处是我们不仅限于一次只使用一种工具或技术。 我们总是可以根据我们需要的结果进行组合。 就像Hadoop和Elasticsearch一样,它们在组合时效果最好。 将来,随着这些技术的发展速度,这些界限将更加模糊。

参考:

https://thecustomizewindows.com/2017/02/apache-hadoop-spark-vs-elasticsearch-elk-stack/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM