Apache Hive

Опубликовано: 30 Ноября, 2021

Предварительные требования - Введение в Hadoop, вычислительные платформы и технологии
Apache Hive - это хранилище данных и инструмент ETL, который обеспечивает SQL-подобный интерфейс между пользователем и распределенной файловой системой Hadoop (HDFS), которая интегрирует Hadoop. Он построен на основе Hadoop. Это программный проект, который обеспечивает запрос и анализ данных. Он облегчает чтение, запись и обработку широких наборов данных, которые хранятся в распределенном хранилище и запрашиваются с помощью синтаксиса языка запросов структуры (SQL). Он не предназначен для рабочих нагрузок онлайн-обработки транзакций (OLTP). Он часто используется для задач хранения данных, таких как инкапсуляция данных, специальные запросы и анализ огромных наборов данных. Он разработан для повышения масштабируемости, расширяемости, производительности, отказоустойчивости и слабой связи с входными форматами.

Первоначально Hive разработан Facebook и Amazon, Netflix и предоставляет стандартные функции SQL для аналитики. Традиционные запросы SQL написаны в Java API MapReduce для выполнения приложений SQL и запросов SQL к распределенным данным. Hive обеспечивает переносимость, поскольку большинство приложений для хранилищ данных работают с языками запросов на основе SQL, такими как NoSQL.

Компоненты Hive:

  1. HCatalog -
    Это компонент Hive и таблица, а также уровень управления магазином для Hadoop. Он позволяет пользователю использовать различные инструменты обработки данных, такие как Pig и MapReduce, которые позволяют легко читать и писать в сетке.

  2. WebHCat -
    Он предоставляет службу, которая может использоваться пользователем для запуска задач Hadoop MapReduce (или YARN), Pig, Hive или выполнения операций с метаданными Hive с помощью интерфейса HTTP.

Режимы улья:

    Улей работает в двух основных режимах, которые описаны ниже. Эти режимы зависят от размера узлов данных в Hadoop.

  1. Локальный режим -
    Он используется, когда Hadoop построен в псевдорежиме, который имеет только один узел данных, когда размер данных меньше в смысле ограничения на одну локальную машину, и когда обработка будет быстрее на меньших наборах данных, существующих на локальной машине.

  2. Режим уменьшения карты -
    Он используется, когда Hadoop построен с несколькими узлами данных и данные разделены между различными узлами, он будет работать с огромными наборами данных, а запрос выполняется параллельно, и для достижения повышенной производительности при обработке больших наборов данных.

Характеристики улья:

  1. Базы данных и таблицы создаются перед загрузкой данных.
  2. Hive как хранилище данных создано для управления и запроса только структурированных данных, находящихся в таблицах.
  3. Во время обработки структурированных данных в MapReduce отсутствуют функции оптимизации и удобства использования, такие как UDF, тогда как инфраструктура Hive имеет оптимизацию и удобство использования.
  4. Программирование в Hadoop имеет дело непосредственно с файлами. Таким образом, Hive может разбивать данные на структуры каталогов для повышения производительности определенных запросов.
  5. Hive совместим с различными форматами файлов, такими как TEXTFILE, SEQUENCEFILE, ORC, RCFILE и т. Д.
  6. Hive использует базу данных derby в однопользовательском хранилище метаданных и использует MYSQL для многопользовательских метаданных или общих метаданных.

Особенности Hive:

  1. Он предоставляет индексы, включая индексы растровых изображений, для ускорения запросов. Тип индекса, содержащий индекс сжатия и растрового изображения по состоянию на 0.10.
  2. Хранение метаданных в СУБД сокращает время на выполнение семантических проверок во время выполнения запроса.
  3. Встроенные пользовательские функции (UDF) для управления строками, датами и другими инструментами интеллектуального анализа данных. Hive усилен для расширения набора UDF для работы с вариантами использования, не подкрепленными предопределенными функциями.
  4. DEFLATE, BWT, snappy и т. Д. - это алгоритмы работы со сжатыми данными, которые хранятся в экосистеме Hadoop.
  5. Он хранит схемы в базе данных и обрабатывает данные в файловой распределенной файловой системе Hadoop (HDFS).
  6. Он создан для оперативной аналитической обработки (OLAP).
  7. Он предоставляет различные типы языков запросов, которые часто называют Hive Query Language (HVL или HiveQL).

РЕКОМЕНДУЕМЫЕ СТАТЬИ