Elasticsearch 和 Hive 协同工作
Posted
技术标签:
【中文标题】Elasticsearch 和 Hive 协同工作【英文标题】:Elasticsearch and Hive work together 【发布时间】:2014-08-31 10:50:06 【问题描述】:我发现 Hive 和 Elasticsearch 几乎是等价的,只是 Elasticsearch 支持近乎实时的查询。此外,Elasticsearch 可以独立运行来存储和分析数据。那么为什么人们在 Hadoop 上同时使用 Hive 和 Elasticsearch 呢?
【问题讨论】:
【参考方案1】:Hive 和 Elasticsearch 是两个完全不同的工具。
Hive 是一个 SQL 到 Hadoop Java 转换器,可以使用 SerDe 与几乎任何使用 SQL(包括 elasticsearch)的数据源进行交互。 Hive 还可以使用 HDFS 存储数据。 Hive 非常擅长批处理。
Elasticsearch 是一个分布式的多面搜索引擎,它非常适合快速检索数百万文档中的数据。它还可以用于使用构面进行一些简单的计算。
Hive 和 ES 是互补的,人们使用 Hive 来处理数据,而 ES 来提供数据/见解。
【讨论】:
您能否给出一个结合 Hive 和 ES 以相互增强的具体用例?我想知道为什么我们不直接使用 ES 来检索数据,大数据?谢谢。 想象一下这样一种情况,其中来自多个来源的数据(来自 ERP 的销售,来自 CRM 的客户)。使用 Hadoop 和 Hive,我存储数据、处理它(加入它),然后将它发送到 ES。使用 ES,我创建了一个应用程序,我可以在其中汇总客户的所有销售额。 ES 非常适合存储和检索数据,但无法连接两个不同“表”中的日期。 能否简单介绍一下 ES 如何利用 Hadoop 和 MapReduce,例如汇总客户的所有销售额?顺便说一句,非常感谢这个有用的答案。 ES 不使用 Hadoop 进行任何处理,ES 能够使用 facets 进行许多聚合,现在在查询时 aggregations。以上是关于Elasticsearch 和 Hive 协同工作的主要内容,如果未能解决你的问题,请参考以下文章
深入了解推荐引擎组件(基于Apache Mahout和Elasticsearch)
干货基于 Mahout 和 Elasticsearch 推荐引擎组件解析