Введение в альтернативы улья
Прежде чем обсудить альтернативы ВИЧ. Давайте сначала разберемся, что такое HIVE? Итак, HIVE - это в основном инструмент хранилища данных, разработанный на основе HDFS (Hadoop Distributed File System). Он используется для предоставления SQL-подобного интерфейса запросов для запроса данных, которые хранятся в различных файлах, интегрированных с Hadoop. Он преобразует SQL-подобные запросы в задания Map Reduce, которые помогают легко выполнять большие объемы данных.
Характеристики
Ниже приведены некоторые особенности Hive:
- Как и SQL, он имеет свой собственный декларативный язык, называемый HiveQL.
- Он имеет структуру таблиц, аналогичную таблицам в реляционной базе данных, а также обеспечивает поддержку ETL (извлечение / поддержка / загрузка).
- Интересной особенностью является то, что она позволяет конвертировать формат изнутри HIVE.
Ограничение альтернатив улья
Давайте узнаем несколько ограничений Hive:
- Он не предназначен для OLTP (оперативная обработка транзакций), но поддерживает OLAP (оперативная аналитическая обработка).
- Одним из важных ограничений является то, что он не поддерживает обновления и удаления.
- В Hive подзапросы также не поддерживаются.
5 важных альтернатив улья
Ниже мы обсудим пять важных альтернатив ВИЧ-инфекции, представленных на рынке:
1. Apache Impala
Это механизм SQL-запросов с параллельной обработкой с открытым исходным кодом для данных, хранящихся в кластере компьютеров, на котором работает Apache Hadoop. Это было объявлено в октябре 2012 года. Ниже приведены основные особенности Apache Impala как альтернативы HIVE.
- Impala - хороший выбор для людей, выполняющих SQL-запросы в Hadoop и Apache HBase без преобразования данных, поскольку для преобразования или перемещения данных не требуется, в отличие от HIVE.
- Еще одно различие между этими двумя является генерация выражений запросов Impala генерирует их во время выполнения, используя llvm, в то время как HIVE генерирует их во время компиляции.
- У запросов Hive есть проблема холодного запуска, которая не относится к запросам Impala, так как в Impala процессы демона запускаются непосредственно во время загрузки и всегда готовы обработать запрос, благодаря чему он избегает проблемы холодного запуска.
- Impala распознает форматы файлов Hadoop, безопасность Hadoop, драйвер ODBC.
- Основное назначение импалы - грубая сила параллельной обработки. Итак, Impala - лучшая альтернатива, если вы начинаете новый проект.
2. Presto DB
Presto - еще одна альтернатива для HIVE, разработанная Facebook. Его USP может даже запрашивать данные из нескольких источников в рамках одного запроса. Ниже приведены основные характеристики PrestoDB как альтернативы ВИЧ.
- Presto - это механизм распределенных SQL-запросов в памяти, который также очень быстр, поскольку механизм запросов Presto быстр и хорошо подходит для интерактивного анализа.
- USP для Presto над другими - это модель «подключи и работай» с различными источниками данных. Благодаря этой модели «подключи и работай» с Presto очень легко объединять запросы к различным источникам данных.
- В Presto таблицы соединений небольших размеров были сделаны быстрее. Presto превосходит большинство других механизмов распределенных запросов.
- Presto не подходит для больших объединений фактов, поскольку он не использует диск и не использует память для обработки.
- Еще одним важным моментом для Presto является его распределение ресурсов. Он имеет приоритетное распределение ресурсов на основе очереди.
- Одним из компромиссов для хорошей производительности в Presto является то, что поддержка UDF недоступна в Presto, из-за чего нужно написать собственную функцию, которая увеличивает накладные расходы, поскольку она должна быть построена исключительно для Presto и препятствует взаимодействию.
3. Spark SQL
Это модуль для обработки структурированных данных, а также с открытым исходным кодом. Он также может выступать в качестве механизма распределенного SQL-запроса, а также уникальной частью этого процесса, который обеспечивает абстракцию программирования, известную как фреймы данных. Впервые он был выпущен в 2014 году и разработан Apache Software Foundation. Ниже приведены некоторые характерные особенности Spark SQL как альтернативы HIVE.
- Преимущество Spark SQL в том, что он может быть реализован на языке Java, Scala, Python и R, тогда как HIVE может быть реализован на языке Java.
- Существует полное сходство в модели первичной базы данных между HIVE и Spark, поскольку обе модели первичной базы данных - реляционная СУБД.
- Он также похож на HIVE, поскольку оба поддерживают хранилище Key-Value в качестве дополнительной модели базы данных.
- Он имеет предопределенные типы данных, такие как float и date.
- Он поддерживает SQL, поскольку обладает операторами DML и DDL.
- В отличие от HIVE, который поддерживает JDBC, ODBC и Thrift, Spark SQL поддерживает только JDBC и ODBC.
- Spark SQL использует Spark Core для хранения данных в разных узлах.
- Другим важным отличием между spark и HIVE являются методы репликации: в HIVE существует селективный фактор репликации для хранения избыточных данных на нескольких узлах, но в Spark SQL этот фактор репликации недоступен.
- В Spark SQL нет прав доступа для пользователей, тогда как в Apache Hive у нас есть права доступа для пользователей, групп.
- Он не поддерживает транзакционную таблицу и не поддерживает тип char.
4. Акула
Это механизм SQL-запросов с открытым исходным кодом, написанный на Scala. Интересный факт, что Shark вместо того, чтобы использовать Map-Reduce для выполнения своих запросов, использует собственные наборы рабочих узлов. Ниже приведены некоторые особенности Shark:
- Он использует клиент командной строки.
- Он предлагает совместимость с Hive для совместного использования схемы.
- Он обеспечивает поддержку существующих расширений улья, таких как UDF.
Это еще не очень известный, но он предоставляет альтернативу ВИЧ.
5. BigSQL от IBM
Предоставлено Big Blue (IBM). У IBM есть собственный дистрибутив Hadoop под названием Big Insights. Итак, Big SQL предлагается как его часть. Это не с открытым исходным кодом, как это предусмотрено IBM. Некоторые из вещей, которые они предоставляют, как показано ниже:
- Они поддерживают драйверы JDBC и OJDBC.
- Они обеспечивают поддержку SQL
- Их можно использовать для запроса данных из HDFS.
Рекомендуемые статьи
Это руководство по альтернативам улья. Здесь мы обсуждаем особенности, ограничения и 5 важных альтернатив улья. Вы также можете просмотреть другие наши статьи, чтобы узнать больше-
- Hadoop Альтернативы
- Tableau Альтернативы
- Альтернативы Google Analytics
- Hadoop Streaming
- Улей Заказать
- Улей Установка
- Фреймы данных в R