我刚开始研究elasticsearch和hadoop。我对这两个概念有点迷茫。我发现elasticsearch与hadoop生态系统(hdfs、spark、hbase、hive等)交谈时“总是”(可能是我有限的知识造成了偏见)。起初,我以为elasticsearch是hadoop生态系统的一部分,但看起来我错了。
如果我的任务是实现一个搜索引擎,那么只使用elasticsearch索引和存储数据就足够了。那么在这个任务中是否有理由使用hadoop呢?如果我们同时使用hdfs和elasticsearch来存储数据,这是否意味着我们将以两种格式(一种用于hdfs,另一种用于elasticsearch)重复存储数据?
2条答案
按热度按时间2fjabf4q1#
elasticsearch是一个分布式的全文搜索引擎。它自己工作。如果你想用它作为搜索引擎,你可以单独使用它。elasticsearch和hadoop之间没有直接关系。但你可以一起使用。如果您已经在使用hadoop并希望向数据中添加搜索功能,那么可以在elasticsearch上索引您的数据,并可以从hadoop进行查询。有一个产品就是这样做的:es-hadoop
deikduxw2#
elasticsearch的优势在于搜索——如果你只想实现一个搜索引擎——你可以坚持下去。spark和/或hadoop之类的工具的强大之处在于,当您需要对大约10万或更多的记录或回报进行大型聚合或计算时。这就是elasticsearch的缓慢之处(取决于集群大小和规格)。对于高级分析、聚合和机器学习任务,我会利用spark(它的速度)并在那里完成这些工作,将输出反馈给elastic,用kibana或其他实用程序将其可视化。