Учебное пособие по Apache Hive Ultimate для начинающих: изучение Hive с нуля
Опубликовано: 2020-03-20Apache 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, чтобы ускорить свою карьеру.