首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ElasticSeach从Apache Hadoop读取数据

ElasticSeach从Apache Hadoop读取数据
EN

Stack Overflow用户
提问于 2020-06-14 15:57:56
回答 1查看 144关注 0票数 1

我们正在尝试将Elasticsearch应用到我们的大数据环境中。目前我们运行的是Apache Hadoop 2.7,包括Hive和Spark。在Hadoop中以Parquest格式存储数据。

当我们在我们的环境中实施ELK时,我们只能将数据存储到Hadoop HDFS中吗?或者,我们必须从Hadoop中提取数据并导入到Elasticsearch中,以便创建索引,但我们在系统中有重复的数据集(Hadoop HDFS和ElasticSearch)

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-06-14 18:39:54

如果这篇文章太长了,很抱歉,但我希望这能有所帮助!

什么是Elasticsearch?

Elasticsearch是一个搜索引擎。句号。搜索解决方案。更确切地说,是一种数据库或数据存储,它可以帮助您以某种方式组织您的数据,从而帮助您执行数据发现或为您的组织构建搜索应用程序等活动。

尽管您也可以执行许多分析查询并围绕它构建分析解决方案,但仍有一定的限制。

Elasticsearch的性质和其中使用的数据结构是如此不同,以至于您需要将数据(摄取)推入其中,以便执行所有搜索/数据发现/分析活动。它有自己的文件系统和数据结构,专门管理/存储数据,以便进行有效的搜索。

所以会有重复的数据。

Elasticsearch不是什么?

它不会被用作分析解决方案,尽管它确实附带了许多聚合查询,但它并不像Apache Spark这样的处理引擎或DenodoPresto这样的数据虚拟化工具那样具有表现力。

它不是像HDFS或S3那样的存储解决方案,它被用作组织的数据湖。

它不能用作事务性数据库,而要替换为RDBMS解决方案。

大多数时候,许多组织将来自各种不同来源的数据摄取到ES中,如联机分析处理、关系型数据库、NoSQL数据库、内容管理系统、消息队列,以便能够更有效地搜索数据。

在某种程度上,在大多数情况下,ES从来都不是主要的数据源。

组织如何使用它?

  • 构建搜索解决方案例如,如果您希望提供或构建任何电子商务解决方案,您可以通过Elasticsearch管理其搜索实现。
  • 企业搜索解决方案(内部和外部)为IT人员提供更高的工作效率,并允许客户为其产品查找所需的文档、知识库、可下载的pdfs文本等,例如安装文档、配置文档、发行文档和新产品文档。所有内容将从公司中的各种不同来源组合起来,并推送到ES中,以便它们可以是日志的searchable.
  • Ingest数据,例如来自应用程序服务器和消息队列的日志,以便执行日志记录和监控活动(警报、欺诈分析)。

因此ES的两个最常见用法是searchinglogging and monitoring activities。基本上是实时活动。

它与Hadoop有什么不同?

  • 大多数组织都在越来越多地利用Hadoop的文件系统,即HDFS用作数据存储,同时利用Spark或Hive进行数据处理。主要是做大量的数据分析解决方案,ES对此有限制。Elasticsearch Hadoop能够存储所有的文件格式(当然,您需要使用
  • 或其他格式来高效存储),而Elasticsearch只使用

。这使得Hadoop与S3和其他用于数据湖或数据归档存储工具的文件系统一起成为默认的行业标准。

  • 如果你在Hadoop中存储数据,你可能不得不使用其他框架来进行高效的数据处理,如Spark或Giraph或Hive来转换数据和进行复杂的分析处理,而ES对此有限制。ES的核心是一个全文检索/搜索引擎。

用于搜索的Hadoop

您可能需要运行Map-Reduce或Spark Jobs并编写大量的模式匹配算法来查找包含要搜索的关键字的文档或文件夹。每一次搜索都会得到一个这样的工作。这是不现实的。

即使你以这样一种方式对它们进行转换和组织,以便利用Hive,它仍然不会像Elasticsearch那样有效地处理文本。

Here is a link,可以帮助你理解Elasticsearch中使用的核心数据结构,以及为什么文本搜索更快/更不同/更有效。

我们如何使用Hadoop和Elasticsearch?

也许this link中提到的下图可能会有用。

基本上,您可以设置摄取管道,处理来自Hadoop的原始数据,转换并因此在Elasticsearch中对它们进行索引,以便您可以利用其搜索功能。

看一看this link,了解如何在Elasticsearch中使用Spark,并在它们之间实现双向通信。

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62369868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档