2016-05-18 2 views
0

Я только начинаю копаться в Elasticsearch и Hadoop. Я немного потерял эти два понятия. Я обнаружил, что Elasticsearch «всегда» (вероятно, предвзятый моими ограниченными знаниями) говорил с экосистемой Hadoop (HDFS, Spark, HBase, Hive и т. Д.). Сначала я думал, что Elasticsearch является частью экосистемы Hadoop, но похоже, что я ошибался.Elasticsearch и Hadoop?

Если у меня есть задача по внедрению поисковой системы, кажется, достаточно, чтобы Elasticsearch проиндексировал и сохранил данные. Тогда будут ли какие-либо причины использовать Hadoop в этой задаче? Если мы используем как HDFS, так и Elasticsearch для хранения данных, означает ли это, что данные будут физически сохранены в двух форматах (один для HDFS и один для Elasticsearch)?

ответ

2

Elasticsearch - это полнотекстовая поисковая система. Он работает сам по себе. Если вы хотите использовать его в качестве поисковой системы, вы можете использовать его автономно. Нет прямой связи между Elasticsearch и hadoop. Но вы можете использовать их вместе. Если вы уже используете hadoop и хотите добавить возможности поиска к своим данным, вы можете индексировать свои данные на elasticsearch и запросить его у hadoop. Для этой цели есть продукт: ES-Hadoop

0

Сила Elasticsearch - это поиск - если все, что вы хотите сделать, это реализовать поисковую систему - вы можете придерживаться этого. Где сила чего-то типа Spark и/или Hadoop приходит, - это когда вам нужно делать большие скопления или вычисления по записям или возвратам порядка ~ 100 тыс. Или более. Здесь Elasticsearch будет иметь замедление (в зависимости от размера и характеристик вашего кластера). Для расширенных аналитических задач, агрегаций и задач машинного обучения я бы использовал Spark (для его скорости) и выполнял эти задания там, подавая выход обратно в Elastic, чтобы визуализировать его с помощью Kibana или какой-либо другой утилиты.

Смежные вопросы