Подтвердить что ты не робот

Fast Hadoop Analytics (Cloudera Impala против Spark/Shark vs Apache Drill)

Я хочу сделать некоторый анализ данных "почти в реальном времени" (OLAP-подобный) для данных в HDFS.
Мои исследования показали, что три упомянутые структуры сообщают о значительном увеличении производительности по сравнению с Apache Hive. Есть ли у кого-нибудь практический опыт с одним из них? Не только относительно производительности, но и с точки зрения стабильности?

4b9b3361

Ответ 1

Сравнение между Hive и Impala или Spark или Drill иногда звучит неуместно для меня. Цели развития улья и этих инструментов были разными. Hive никогда не разрабатывался для реального времени, в обработке памяти и основан на MapReduce. Он был создан для автономной пакетной обработки. Лучше всего подходит, когда вам нужны длительные рабочие задания, выполняющие тяжелые операции данных, такие как соединения на очень огромных наборах данных.

С другой стороны, эти инструменты были разработаны с учетом real-timeness. Идите к ним, когда вам нужно запросить не очень большие данные, которые могут быть помещены в память в режиме реального времени. Я не говорю, что вы не можете запускать запросы в BigData с помощью этих инструментов, но вы будете настаивать на ограничениях, если вы выполняете запросы в реальном времени на PBs данных, IMHO.

Довольно часто вы видели (или читали), что у конкретной компании есть несколько ПБ данных, и они успешно обслуживают потребности своих клиентов в реальном времени. Но на самом деле эти компании не часто запрашивают свои данные. Итак, важно правильное планирование, when to use what. Надеюсь, вы поняли, что я пытаюсь сделать.

Возвращаясь к вашему актуальному вопросу, на мой взгляд, трудно представить разумное сравнение в это время, поскольку большинство из этих проектов еще далеки от завершения. Они еще не готовы к производству, если только вы не захотите сделать что-то (или, может быть, много) работы самостоятельно. И для каждого из этих проектов есть определенные цели, которые очень специфичны для этого конкретного проекта.

For example, Impala была разработана для использования существующей инфраструктуры Hive, так что вам не нужно начинать с нуля. Он использует те же метаданные, которые использует Hive. Цель заключалась в том, чтобы запускать запросы в реальном времени поверх существующего склада Hadoop. В то время как Drill был разработан как проект not only Hadoop. И предоставить нам возможности распределенных запросов на нескольких больших платформах данных, включая MongoDB, Cassandra, Riak и Splunk. Shark совместим с Apache Hive, что означает, что вы можете запросить его, используя те же операторы HiveQL, что и через Hive. Разница в том, что Shark может возвращать результаты в 30 раз быстрее, чем те же запросы, что и в Hive.

В настоящее время Impala работает хорошо, а некоторые люди ее используют, но я не уверен, что остальная часть 2. Все эти инструменты хороши, но справедливое сравнение может быть сделано только после того, как вы попробуете их на своих данных и для ваших потребностей в обработке. Но, по моему опыту, Импала будет лучшим выбором в этот момент. Я не говорю, что другие инструменты не хороши, но они еще недостаточно зрелы. Но если вы хотите использовать его с уже запущенным кластером Hadoop (Apache hadoop для ex), вам, возможно, придется выполнить дополнительную работу, поскольку Impala используется почти всеми как функция CDH.

Примечание: Все эти вещи основаны исключительно на моем опыте. Если вы найдете что-то неправильно или неуместно, сообщите мне об этом. Комментарии и предложения приветствуются. И я надеюсь, что это ответит на некоторые ваши запросы.