Учебное пособие по Apache Hive Ultimate для начинающих: изучение Hive с нуля

Опубликовано: 2020-03-20

Apache Hive — это система хранения данных с открытым исходным кодом, построенная на основе Hadoop. Он используется для запросов и анализа больших наборов данных, хранящихся в файлах Hadoop. Этот учебник по Apache Hive поможет вам понять его основы, характеристики и использование.

В цифровую эпоху каждый день генерируется около 2,5 квинтиллионов байт данных. Нам нужны инновационные технологии, чтобы сдержать этот взрыв данных. И Hive — один из таких инструментов, который обрабатывает структурированные и частично структурированные данные в ведущей в отрасли экосистеме Hadoop. Поскольку все больше и больше работодателей стремятся использовать возможности больших данных, они ищут людей, хорошо разбирающихся в инструментах Hadoop. Таким образом, учебник по Hadoop Hive является важным компонентом любого курса по работе с большими данными для начинающих.

Оглавление

Что такое Улей? Объясните простыми словами.

Apache Hive позволяет разработчикам обобщать данные, выполнять запросы и анализировать большие наборы данных. Построенный на основе распределенной файловой системы Hadoop (HDFS), он позволяет лучше структурировать данные, организуя их в таблицы. Кроме того, Hive использует свой язык HiveQL или HQL для выполнения SQL-подобных запросов к данным.

В то время как SQL выполняется в традиционных базах данных, HQL может автоматически преобразовывать запросы в задания MapReduce. Hive абстрагируется от сложности Hadoop, преобразовывая SQL-запросы в серию заданий, которые должны выполняться в кластере Hadoop. Итак, чтобы освоить Apache Hive, вам необходимо иметь базовые знания SQL. Но нет необходимости изучать Java.

Переходя к нашему руководству по Apache Hive , давайте обсудим его использование в современных рабочих средах.

Зачем вам нужно использовать Hive?

Традиционные системы баз данных не приспособлены для обработки больших объемов данных, генерируемых современными приложениями для работы с большими данными. И Hadoop — это фреймворк, решающий эту проблему. Различные инструменты помогают модулям Hadoop, одним из которых является Hive. С помощью Apache Hive вы можете выполнять следующие задачи:

  • Таблицы можно разбивать на части и сегментировать, что позволяет обрабатывать данные, хранящиеся в распределенной файловой системе Hadoop (HDFS). Таблицы определяются непосредственно в HDFS
  • Драйверы JDBC/ODBC доступны для интеграции с традиционными технологиями.
  • Обеспечивает гибкость и эволюцию схемы, а также суммирование данных, облегчая анализ.
  • Избавляет вас от написания сложных заданий Hadoop MapReduce
  • Концепция разделов и сегментов обеспечивает быстрое извлечение данных
  • Очень прост в освоении и реализации для разработчиков SQL
  • Быстрая и масштабируемая система
  • Hive поддерживает различные типы файлов, такие как текстовый файл, файл последовательности, файл RC, файл ORF, файл Parquet и файл AVRO.

Каковы основные компоненты архитектуры Hive?

1. Пользовательский интерфейс: позволяет отправить запрос, обработать инструкции и управлять ими. Интерфейс командной строки (CLI) и веб-интерфейс позволяют внешним пользователям подключаться к Hive.

2. Хранилище метаданных. Как следует из названия, хранилище метаданных содержит метаданные базы данных. Содержит информацию о схеме и расположении столов. Он также хранит метаданные раздела. Присутствуя в традиционной реляционной базе данных, он позволяет отслеживать распределенные данные в кластере. Он отслеживает данные, реплицирует их и обеспечивает резервное копирование.

3. Драйвер. Это часть механизма процесса, которая получает операторы HiveQL. Драйвер создает сеансы для выполнения оператора и отслеживает его жизненный цикл. Он также хранит метаданные, сгенерированные во время выполнения оператора.

4. Компилятор: эта часть механизма обработки HiveQL преобразует запрос во входные данные MapReduce, такие как абстрактное синтаксическое дерево (AST) и направленный ациклический граф (DAG).

5. Оптимизатор: этот компонент архитектуры Hive выполняет преобразования в плане выполнения для предоставления оптимизированной DAG. Он разделяет задачи для лучшей производительности.

6. Исполнитель: он планирует или направляет задачи для завершения процесса выполнения. Для этого он взаимодействует с системой отслеживания заданий Hadoop.

Читайте: Учебник по Hadoop для начинающих

Этот учебник по Apache Hive не может быть полным без обсуждения того, как эти компоненты Hive взаимодействуют друг с другом для выполнения запросов. Итак, мы перечислили шаги ниже.

Шаг 1: Пользователь вводит запрос в интерфейс командной строки или веб-интерфейс, который перенаправляет запрос драйверу.

Шаг 2: Драйвер передает запрос компилятору для проверки. Компилятор обеспечивает точность синтаксиса.

Шаг 3: Компилятор запрашивает у Metastore необходимые метаданные, чтобы продолжить работу.

Шаг 4: После получения метаданных компилятор повторно отправляет план выполнения драйверу.

Шаг 5: Драйвер направляет этот план механизму выполнения.

Шаг 6: Механизм выполнения выполняет заключительные этапы. Он отправляет задачу в JobTracker (узел Name) в модуле MapReduce Hadoop.

Шаг 7: JobTracker дополнительно назначает задачу TaskTracker (узел данных).

Шаг 8: Запрос выполняется и отправляется обратно исполнителю.

Шаг 9: Исполнитель отправляет результаты водителю.

Шаг 10: Драйвер отправляет результаты в пользовательский интерфейс Hive.

Читайте: Заработная плата разработчиков Hadoop в Индии

Что вы знаете о Hive Shell?

Hive Shell позволяет пользователям выполнять запросы HQL. Это интерфейс командной строки Hive. Вы можете запустить Hive Shell в двух режимах:

  • Неинтерактивный: укажите расположение файла, содержащего запросы HQL, с помощью параметра -f. Например, hive -f my-script.q
  • Интерактивный: перейдите непосредственно в оболочку Hive и отправьте запросы вручную, чтобы получить результат. Например, $bin/hive, перейти к оболочке улья.

Перечислите некоторые ограничения Hive

  • Он предлагает ограниченную поддержку подзапросов
  • Запросы Hive имеют высокую задержку
  • Материализованные представления не разрешены в Apache Hive
  • Он не обеспечивает запросы в реальном времени, обновления на уровне строк, операции обновления и удаления.
  • Apache Hive не подходит для онлайн-переходного процесса или OLTP.

Подведение итогов

В этом руководстве по Hadoop Hive мы рассмотрели различные аспекты Hive, его использование и архитектуру. Мы также углубились в его работу и обсудили его ограничения. Вся эта информация поможет вам начать изучение Hive. В конце концов, это одна из наиболее широко используемых и надежных платформ для работы с большими данными!

Если вам интересно узнать больше о больших данных, ознакомьтесь с нашей программой PG Diploma в области разработки программного обеспечения со специализацией в области больших данных, которая предназначена для работающих профессионалов и включает более 7 тематических исследований и проектов, охватывает 14 языков и инструментов программирования, практические занятия. семинары, более 400 часов интенсивного обучения и помощь в трудоустройстве в ведущих фирмах.

Изучайте онлайн-курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Возглавьте технологическую революцию, основанную на данных

7 тематических исследований и проектов. Помощь в трудоустройстве с ведущими фирмами. Преданный студенческий наставник.
Расширенная программа сертификации в области больших данных от IIIT Bangalore