Облачная платформаAdvanced

Взаимосвязи Hive с другими компонентами

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

HDFS

Hive является подпроектом Apache Hadoop, который использует HDFS в качестве файловой системы хранения. Он анализирует и обрабатывает структурированные данные с высоконадежным базовым хранилищем, поддерживаемым HDFS. Все файлы данных в базе Hive хранятся в HDFS, и все операции с данными в Hive также выполняются с использованием HDFS APIs.

MapReduce

Вычисления данных в Hive зависят от MapReduce. MapReduce также является подпроектом Apache Hadoop и представляет собой параллельный вычислительный фреймворк, основанный на HDFS. Во время анализа данных Hive преобразует HQL‑запросы, отправленные пользователями, в задачи MapReduce и передаёт их для выполнения MapReduce.

Tez

Tez — открытый проект Apache, представляющий собой распределённый вычислительный фреймворк, поддерживающий ориентированные ациклические графы (DAG). Когда Hive использует движок Tez для анализа данных, он преобразует HQL‑запросы, отправленные пользователями, в задачи Tez и передаёт их Tez для выполнения.

DBService

MetaStore (служба метаданных) Hive обрабатывает структуру и атрибутную информацию метаданных Hive, такие как базы данных Hive, таблицы и разделы. Эта информация должна храниться в реляционной базе данных и управляется и обрабатывается MetaStore. В продукте метаданные Hive хранятся и поддерживаются компонентом DBService, а служба метаданных предоставляется компонентом Metadata.

Spark

Spark может использоваться в качестве движка выполнения для Hive. SQL‑запросы Hive, переданные клиентом, обрабатываются на логическом уровне в Hive, после чего генерируются физические планы выполнения, которые преобразуются в ориентированный ациклический граф (DAG) устойчивого распределённого набора данных (RDD) и затем отправляются в кластер Spark в виде задачи. Таким образом, эффективность запросов Hive повышается благодаря возможности распределённых вычислений в памяти, предоставляемой Spark.