Учебники

Импала — Обзор

Impala — это механизм SQL-запросов MPP (Massive Parallel Processing) для обработки огромных объемов данных, хранящихся в кластере Hadoop. Это программное обеспечение с открытым исходным кодом, написанное на C ++ и Java. Он обеспечивает высокую производительность и низкую задержку по сравнению с другими механизмами SQL для Hadoop.

Другими словами, Impala — это самый высокопроизводительный механизм SQL (обеспечивающий работу с RDBMS), который обеспечивает самый быстрый способ доступа к данным, хранящимся в распределенной файловой системе Hadoop.

Почему Импала?

Impala объединяет поддержку SQL и многопользовательскую производительность традиционной аналитической базы данных с масштабируемостью и гибкостью Apache Hadoop, используя стандартные компоненты, такие как HDFS, HBase, Metastore, YARN и Sentry.

  • С помощью Impala пользователи могут общаться с HDFS или HBase с помощью запросов SQL быстрее, по сравнению с другими механизмами SQL, такими как Hive.

  • Impala может читать практически все форматы файлов, такие как Parquet, Avro, RCFile, используемые Hadoop.

С помощью Impala пользователи могут общаться с HDFS или HBase с помощью запросов SQL быстрее, по сравнению с другими механизмами SQL, такими как Hive.

Impala может читать практически все форматы файлов, такие как Parquet, Avro, RCFile, используемые Hadoop.

Impala использует те же метаданные, синтаксис SQL (Hive SQL), драйвер ODBC и пользовательский интерфейс (Hue Beeswax), что и Apache Hive, обеспечивая знакомую и унифицированную платформу для пакетных запросов или запросов в реальном времени.

В отличие от Apache Hive, Impala не основана на алгоритмах MapReduce . Он реализует распределенную архитектуру на основе процессов-демонов , которые отвечают за все аспекты выполнения запросов, выполняющихся на одних и тех же машинах.

Таким образом, это уменьшает задержку использования MapReduce, и это делает Impala быстрее, чем Apache Hive.

Преимущества Импалы

Вот список некоторых отмеченных преимуществ Cloudera Impala.

  • Используя Impala, вы можете обрабатывать данные, хранящиеся в HDFS, с молниеносной скоростью, используя традиционные знания SQL.

  • Поскольку обработка данных осуществляется там, где они находятся (в кластере Hadoop), преобразование данных и перемещение данных не требуется для данных, хранящихся в Hadoop, при работе с Impala.

  • Используя Impala, вы можете получить доступ к данным, которые хранятся в HDFS, HBase и Amazon s3 без знания Java (задания MapReduce). Вы можете получить к ним доступ с базовым представлением SQL-запросов.

  • Чтобы написать запросы в бизнес-инструментах, данные должны пройти сложный цикл извлечения-преобразования-загрузки (ETL). Но с Impala эта процедура сокращается. Трудоемкие этапы загрузки и реорганизации преодолеваются благодаря новым методам, таким как анализ поисковых данных и обнаружение данных, которые ускоряют процесс.

  • Impala впервые использует формат файла Parquet, макет столбчатого хранилища, оптимизированный для крупномасштабных запросов, типичных для сценариев хранилища данных.

Используя Impala, вы можете обрабатывать данные, хранящиеся в HDFS, с молниеносной скоростью, используя традиционные знания SQL.

Поскольку обработка данных осуществляется там, где они находятся (в кластере Hadoop), преобразование данных и перемещение данных не требуется для данных, хранящихся в Hadoop, при работе с Impala.

Используя Impala, вы можете получить доступ к данным, которые хранятся в HDFS, HBase и Amazon s3 без знания Java (задания MapReduce). Вы можете получить к ним доступ с базовым представлением SQL-запросов.

Чтобы написать запросы в бизнес-инструментах, данные должны пройти сложный цикл извлечения-преобразования-загрузки (ETL). Но с Impala эта процедура сокращается. Трудоемкие этапы загрузки и реорганизации преодолеваются благодаря новым методам, таким как анализ поисковых данных и обнаружение данных, которые ускоряют процесс.

Impala впервые использует формат файла Parquet, макет столбчатого хранилища, оптимизированный для крупномасштабных запросов, типичных для сценариев хранилища данных.

Особенности Импала

Ниже приведены особенности Cloudera Impala —

  • Impala доступна бесплатно как открытый исходный код под лицензией Apache.

  • Impala поддерживает обработку данных в памяти, т. Е. Получает доступ к данным, которые хранятся на узлах данных Hadoop, и анализирует их без перемещения данных.

  • Вы можете получить доступ к данным, используя Impala, используя SQL-подобные запросы.

  • Impala обеспечивает более быстрый доступ к данным в HDFS по сравнению с другими механизмами SQL.

  • Используя Impala, вы можете хранить данные в таких системах хранения, как HDFS, Apache HBase и Amazon s3.

  • Вы можете интегрировать Impala с такими инструментами бизнес-аналитики, как Tableau, Pentaho, Micro стратегии и Zoom data.

  • Impala поддерживает различные форматы файлов, такие как LZO, Sequence File, Avro, RCFile и Parquet.

  • Impala использует метаданные, драйвер ODBC и синтаксис SQL из Apache Hive.

Impala доступна бесплатно как открытый исходный код под лицензией Apache.

Impala поддерживает обработку данных в памяти, т. Е. Получает доступ к данным, которые хранятся на узлах данных Hadoop, и анализирует их без перемещения данных.

Вы можете получить доступ к данным, используя Impala, используя SQL-подобные запросы.

Impala обеспечивает более быстрый доступ к данным в HDFS по сравнению с другими механизмами SQL.

Используя Impala, вы можете хранить данные в таких системах хранения, как HDFS, Apache HBase и Amazon s3.

Вы можете интегрировать Impala с такими инструментами бизнес-аналитики, как Tableau, Pentaho, Micro стратегии и Zoom data.

Impala поддерживает различные форматы файлов, такие как LZO, Sequence File, Avro, RCFile и Parquet.

Impala использует метаданные, драйвер ODBC и синтаксис SQL из Apache Hive.

Реляционные базы данных и Импала

Impala использует язык запросов, который похож на SQL и HiveQL. В следующей таблице описаны некоторые ключевые различия между языком SQL и языком запросов Impala.

Impala Реляционные базы данных
Impala использует SQL-подобный язык запросов, который похож на HiveQL. Реляционные базы данных используют язык SQL.
В Impala вы не можете обновлять или удалять отдельные записи. В реляционных базах данных можно обновлять или удалять отдельные записи.
Импала не поддерживает транзакции. Реляционные базы данных поддерживают транзакции.
Импала не поддерживает индексацию. Реляционные базы данных поддерживают индексацию.
Impala хранит и управляет большими объемами данных (петабайтами). Реляционные базы данных обрабатывают меньшие объемы данных (терабайты) по сравнению с Impala.

Улей, Hbase и Импала

Хотя Cloudera Impala использует тот же язык запросов, metastore и пользовательский интерфейс, что и Hive, в некоторых аспектах он отличается от Hive и HBase. В следующей таблице представлен сравнительный анализ среди HBase, Hive и Impala.

HBase улей Impala
HBase — это база данных с широкими столбцами, основанная на Apache Hadoop. Он использует концепции BigTable. Hive — это программное обеспечение хранилища данных. Используя это, мы можем получить доступ и управлять большими распределенными наборами данных, построенными на Hadoop. Impala — это инструмент для управления, анализа данных, которые хранятся в Hadoop.
Модель данных HBase представляет собой широкий столбец хранилища. Улей следует реляционной модели. Импала следует реляционной модели.
HBase разработан с использованием языка Java. Hive разработан с использованием языка Java. Импала разработана с использованием C ++.
Модель данных HBase не содержит схем. Модель данных Hive основана на схемах. Модель данных Impala основана на схемах.
HBase предоставляет Java, RESTful и Thrift API. Hive предоставляет JDBC, ODBC, Thrift API. Impala предоставляет JDBC и ODBC API.
Поддерживает языки программирования, такие как C, C #, C ++, Groovy, Java PHP, Python и Scala. Поддерживает языки программирования, такие как C ++, Java, PHP и Python. Impala поддерживает все языки, поддерживающие JDBC / ODBC.
HBase обеспечивает поддержку триггеров. Hive не предоставляет никакой поддержки для триггеров. Импала не предоставляет никакой поддержки для триггеров.

Все эти три базы данных —

  • Есть базы данных NOSQL.

  • Доступно как с открытым исходным кодом.

  • Поддержка серверных сценариев.

  • Следуйте свойствам ACID, таким как долговечность и параллелизм.

  • Используйте шардинг для разбиения .

Есть базы данных NOSQL.

Доступно как с открытым исходным кодом.

Поддержка серверных сценариев.

Следуйте свойствам ACID, таким как долговечность и параллелизм.

Используйте шардинг для разбиения .

Недостатки Импалы

Некоторые из недостатков использования Impala заключаются в следующем —