Обработка больших данных - стр. 12
YARN также обеспечило более эффективное использование ресурсов в кластерах, что позволило компаниям снизить затраты на инфраструктуру и увеличить производительность своих систем. В результате YARN стал неотъемлемым компонентом для всех, кто работает с большими данными, обеспечивая надёжную, масштабируемую и гибкую основу для работы с различными типами данных и вычислений.
Ниже приведена схема, которая показывает, как компоненты YARN взаимодействуют между собой для распределения ресурсов и выполнения задач.
ResourceManager включает в себя два основных модуля: Scheduler и ApplicationManager.
NodeManagers управляют ресурсами на каждом узле, и каждый из них содержит несколько контейнеров (Containers), где выполняются задачи.
ApplicationMasters представляют разные приложения, которые взаимодействуют как с ResourceManager, так и с NodeManagers. (Рис. 2)
– Hive
Hive – это инструмент, разработанный для анализа больших объемов данных, который предоставляет удобный интерфейс, похожий на SQL, для взаимодействия с данными в экосистеме Hadoop. Основная задача Hive – упрощение работы с Hadoop, позволяя пользователям выполнять запросы, обработку и агрегацию данных с помощью языка, близкого к SQL, что делает его доступным для людей, не имеющих глубоких знаний в программировании на Java или MapReduce.
Hive использует язык запросов HiveQL (или HQL), который является расширением SQL и поддерживает большинство стандартных SQL-команд. Это позволяет пользователям писать запросы, управлять данными и создавать отчеты без необходимости напрямую взаимодействовать с Hadoop MapReduce, что может быть сложным и трудоемким процессом. Внутренне Hive преобразует запросы HiveQL в задачи MapReduce, которые затем выполняются на кластере Hadoop. Это превращает сложные вычислительные задачи в последовательность более управляемых шагов, что упрощает работу с большими данными.
Одной из ключевых особенностей Hive является поддержка различных форматов хранения данных, таких как текстовые файлы, паркет (Parquet), Avro и ORC (Optimized Row Columnar). Это позволяет пользователям выбирать наиболее подходящий формат в зависимости от конкретных требований к производительности и эффективности хранения. Hive также включает средства для работы с метаданными, что упрощает управление схемами данных и поддерживает работу с большими и сложными наборами данных.
Hive предлагает возможности для расширения и настройки, что позволяет интегрировать его с различными инструментами и платформами, такими как Apache HBase, Apache Tez и Apache Spark. Эти возможности делают Hive гибким инструментом для обработки и анализа данных, поддерживающим как традиционные задачи бизнес-анализа, так и более сложные вычислительные задачи в области больших данных.
Ниже приведена блок-схема, показывающая работу HiveQL. (Рис. 3)
В этой схеме представлено:
Пользовательский Интерфейс (HiveQL): Пользователь вводит запросы.
Hive: Обрабатывает запросы через парсер, оптимизатор и планировщик.
Hadoop: Выполняет запросы, используя HDFS для хранения данных и MapReduce/Tez/Spark для обработки.
Выходные Данные: Результаты запроса возвращаются пользователю.
– Pig
Pig – это платформа для анализа больших данных, разработанная для упрощения обработки и анализа больших объемов данных, хранящихся в распределенных системах, таких как Apache Hadoop. Pig позволяет пользователям выполнять сложные операции обработки данных, такие как фильтрация, агрегация и преобразование данных, с помощью языка программирования высокого уровня, известного как Pig Latin. Это делает работу с большими данными более доступной для аналитиков и разработчиков, которые не обязательно являются экспертами в низкоуровневом программировании или администрировании систем.