Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex MetaData Hub
    • О сервисе Yandex MetaData Hub
      • Кластеры Metastore
      • Имперсонация в Metastore
    • Квоты и лимиты
  • Аудитные логи Audit Trails
  • Правила тарификации
  • Решение проблем
  • Публичные материалы
  • История изменений

В этой статье:

  • Назначение Hive Metastore
  • Сценарии использования
  • Работа с данными из разных аналитических инструментов
  • Управление жизненным циклом кластеров
  • Работа с современными форматами данных для аналитики
  • Интеграция Metastore с сервисами Yandex Cloud
  • Yandex Data Processing и Metastore
  • Managed Service for Trino и Metastore
  • Текущие особенности работы с Metastore
  • Примеры использования
  1. Концепции
  2. Hive Metastore
  3. Кластеры Metastore

Кластеры Hive Metastore

Статья создана
Yandex Cloud
Обновлена 15 мая 2025 г.
  • Назначение Hive Metastore
  • Сценарии использования
    • Работа с данными из разных аналитических инструментов
    • Управление жизненным циклом кластеров
    • Работа с современными форматами данных для аналитики
  • Интеграция Metastore с сервисами Yandex Cloud
    • Yandex Data Processing и Metastore
    • Managed Service for Trino и Metastore
  • Текущие особенности работы с Metastore
  • Примеры использования

Примечание

Функциональность находится на стадии Preview.

В сервисе Yandex MetaData Hub вы можете создавать кластеры Hive Metastore.

Hive Metastore — это сервер табличных метаданных, который:

  • Предоставляет клиентским приложениям информацию о том, где брать данные для обработки и как их интерпретировать.
  • Сохраняет метаданные таблиц между запусками вычислительных кластеров с коротким временем жизни.
  • Делит пространство данных между одновременно работающими кластерами.
  • Связывает разнородные ETL-системы и инструменты для работы с общими данными и упрощает их развертывание.
  • Обеспечивает отказоустойчивость, масштабирование хранилища и резервное копирование метаданных.
  • Упрощает отправку логов и метрик, процессы обновления и миграции.
  • Играет ключевую роль в облачных сценариях обработки данных, позволяя различным инструментам (Spark, Trino, Hive) работать с одними и теми же метаданными.

Ряд продуктов Apache®, среди которых Hive, Spark и Impala, поддерживает работу с Metastore.

Назначение Hive MetastoreНазначение Hive Metastore

При работе с большими данными и аналитикой в облаке часто возникает вопрос о преобразовании наборов файлов в таблицы, с которыми удобно работать через SQL. Metastore представляет собой персистентную базу данных со словарем данных. Персистентность означает, что информация сохраняется на диск и остается доступной после выключения компьютера или перезапуска системы. Словарь данных содержит набор определений, описывающих структуру и формат данных. Metastore хранит метаданные о таблицах, физически расположенных в Yandex Object Storage. В нем содержится информация о местоположении файлов с данными, их организации, структуре колонок, типах данных, партиционировании и других аспектах. По сути, Metastore создает абстракцию над сырыми файлами, преобразуя их в логические таблицы для работы через SQL.

Это можно сравнить с каталогизацией книг в библиотеке. В большой библиотеке с тысячами книг без каталога пришлось бы проверять все полки в поисках нужной книги. Каталог позволяет быстро определить точное местоположение книги. Metastore выполняет аналогичную функцию для данных в Object Storage.

В реляционных базах данных (Oracle, PostgreSQL) словарь данных встроен в саму СУБД. При создании таблицы в PostgreSQL информация о ее структуре сохраняется в системных таблицах внутри той же базы данных. Однако в экосистеме больших данных, где файлы могут храниться отдельно от средств их обработки, требуется отдельный сервис для хранения этой информации — Metastore.

Сценарии использованияСценарии использования

Metastore сам по себе не решает бизнес-задачи, но становится необходимым инструментом в определенных сценариях использования.

Работа с данными из разных аналитических инструментовРабота с данными из разных аналитических инструментов

В современных архитектурах обработки данных часто используется несколько инструментов для работы с одними и теми же данными в Object Storage. Это обусловлено тем, что разные инструменты оптимальны для различных задач. Например, Apache Spark™ эффективен для массовой обработки данных и ETL-процессов (Extract, Transform, Load), в то время как Trino лучше подходит для интерактивной аналитики и быстрых запросов.

Без единого кластера каждый инструмент будет поддерживать собственную копию метаданных, что создает проблемы при изменении структуры данных. При добавлении новой колонки в таблицу и обновлении метаданных в Apache Spark™, без соответствующего обновления в Trino, запросы из Trino будут возвращать неполные данные или приводить к ошибкам.

Metastore решает эту проблему, предоставляя единый источник истины для всех метаданных. Структура таблицы описывается один раз, и все подключенные инструменты автоматически получают доступ к актуальной информации. Это не только упрощает администрирование, но и значительно снижает риск ошибок из-за несогласованности метаданных.

В ситуации, когда команда аналитиков использует Trino для интерактивных запросов, а команда инженеров данных применяет Apache Spark™ для ETL-процессов, единый Metastore обеспечивает согласованность представления данных для обеих команд, гарантируя точность результатов.

Управление жизненным циклом кластеровУправление жизненным циклом кластеров

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

В Yandex Cloud многие клиенты используют мощные вычислительные кластеры (Yandex Data Processing с Apache Spark™ или собственные кластеры Apache Hadoop®) только для периодических задач — формирования отчетов, ночных пакетных обработок данных, обновления аналитических моделей и других подобных операций.

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

Более эффективный подход заключается в создании кластеров на время выполнения задачи с последующим удалением. Однако в традиционной архитектуре Apache Hadoop® Metastore является частью кластера, и при удалении кластера происходит потеря всех метаданных о таблицах. При следующем запуске потребуется заново определять структуру таблиц, что трудоемко и чревато ошибками.

Отдельный управляемый Metastore решает эту проблему. Он существует независимо от вычислительных кластеров и продолжает хранить все метаданные после удаления кластеров. При создании нового кластера для следующего сеанса обработки он подключается к тому же Metastore и получает доступ ко всем определениям таблиц.

В Yandex Cloud многие пользователи реализуют подобный сценарий через Managed Service for Apache Airflow™ — сервис для оркестрации рабочих процессов. Managed Service for Apache Airflow™ по расписанию создает мощные кластеры Yandex Data Processing для обработки данных, а после завершения расчетов удаляет их для оптимизации затрат. Все метаданные сохраняются в отдельном управляемом Metastore, обеспечивая бесшовный процесс для пользователей.

Работа с современными форматами данных для аналитикиРабота с современными форматами данных для аналитики

В последние годы появились новые форматы данных, специально разработанные для аналитических задач: Apache Iceberg, Delta Lake, Apache Hudi. Эти форматы значительно превосходят традиционные (CSV или Parquet) по функциональности и удобству использования.
Они обеспечивают следующие возможности:

  • атомарные транзакции при записи данных;
  • контроль версий данных и путешествие во времени (time travel);
  • схематизация и эволюция схемы;
  • оптимизация таблиц и управление их компактностью;
  • изоляция запросов от параллельных записей.

Для реализации этих функций форматы, подобные Iceberg и Delta Lake, требуют централизованного управления метаданными. Им необходимо хранилище для информации о версиях таблиц, транзакциях, изменениях схемы и других аспектах. Metastore предоставляет оптимальную инфраструктуру для этой цели.

Без Metastore работа с этими продвинутыми форматами была бы значительно сложнее, а некоторые функции вообще были бы недоступны. С Metastore доступны все преимущества современных форматов данных без необходимости создания собственной инфраструктуры для управления метаданными.

В Yandex Cloud Metastore особенно полезен при создании озер данных (Data Lake) и озер аналитических данных (Data Lakehouse) с использованием форматов Delta Lake и Iceberg. Он обеспечивает необходимую инфраструктуру для хранения метаданных этих форматов, делая их использование простым и надежным.

Интеграция Metastore с сервисами Yandex CloudИнтеграция Metastore с сервисами Yandex Cloud

В Yandex Cloud Metastore интегрируется с другими сервисами, расширяя их возможности для работы с данными и упрощая создание комплексных решений.

Yandex Data Processing и MetastoreYandex Data Processing и Metastore

Yandex Data Processing — это сервис для запуска распределенных вычислений на базе Apache Spark™, Apache Hive и других инструментов экосистемы Apache Hadoop®. Apache Spark™ активно использует Metastore для хранения схем таблиц и доступа к данным через SQL-интерфейс.

Подключение Yandex Data Processing к управляемому Metastore в Yandex Cloud осуществляется просто: при создании кластера указывается URI Metastore в дополнительных настройках. После этого Apache Spark™ автоматически подключается к Metastore и получает доступ ко всем определенным в нем таблицам.

Это открывает широкие возможности для работы с данными:

  • использование SparkSQL для выполнения сложных аналитических запросов к данным в Object Storage;
  • работа разных кластеров Yandex Data Processing с одними и теми же таблицами без дублирования определений;
  • создание и удаление кластеров по мере необходимости без потери метаданных о таблицах.

Например, Yandex Data Processing может использоваться для создания ETL-пайплайнов, которые читают данные из различных источников, преобразуют их и записывают в таблицы, определенные в Metastore. Затем эти данные будут доступны для аналитики через любой другой сервис, подключенный к тому же Metastore.

Managed Service for Trino и MetastoreManaged Service for Trino и Metastore

Trino — это распределенный SQL-движок для аналитических запросов, который может работать с различными источниками данных, включая файлы в Object Storage. В Yandex Cloud доступен сервис Managed Service for Trino с возможностью подключения к Metastore.

Trino использует систему коннекторов для доступа к различным источникам данных. Для работы с данными через Metastore применяется коннектор Hive. При создании кластера Managed Service for Trino можно добавить каталог с типом Hive и указать URI Metastore, после чего Trino получит доступ ко всем таблицам, определенным в Metastore.

Интеграция Managed Service for Trino с Metastore особенно полезна для интерактивной аналитики. Аналитики могут выполнять SQL-запросы к данным в Object Storage без знания деталей их физического хранения. Они работают с абстракцией таблиц, а Metastore и Trino обеспечивают все аспекты, связанные с доступом к данным.

Например, бизнес-аналитик может подключиться к Managed Service for Trino через WebSQL или BI-инструмент, выполнить сложный аналитический запрос к данным, загруженным и обработанным через Yandex Data Processing, и получить результаты за несколько секунд. При этом не требуется знать физическое местоположение файлов, методы их партиционирования и формат записи — всю эту информацию Trino получает из Metastore.

Текущие особенности работы с MetastoreТекущие особенности работы с Metastore

На текущий момент при работе с управляемым Metastore в Yandex Cloud существует несколько важных особенностей, которые необходимо учитывать при проектировании и развертывании решений.

Первая особенность связана с доступностью сервиса. В настоящее время Metastore работает только с объектными хранилищами внутри Yandex Cloud и не поддерживает подключение к внешним S3-совместимым хранилищам. Это означает невозможность использования для работы с данными, хранящимися, например, в Amazon S3 или MinIO, развернутом в собственном дата-центре.

Кроме того, Metastore доступен только по внутреннему IP-адресу в виртуальной частной сети (VPC) и не имеет публичного DNS-имени. Это обеспечивает дополнительную безопасность, но требует, чтобы все сервисы, подключающиеся к Metastore, находились в той же VPC или имели настроенный сетевой доступ.

Вторая особенность касается сетевой безопасности. Для корректной работы Metastore необходима правильная настройка групп безопасности, разрешающих необходимый сетевой трафик. Без этого кластер может отображаться в состоянии DEAD, что затрудняет диагностику проблем (см. инструкцию по настройке групп безопасности).

Подробнее о Metastore см. в документации Apache®.

Примеры использованияПримеры использования

  • Перенос метаданных между кластерами Yandex Data Processing с помощью Metastore
  • Совместная работа с таблицами Yandex Data Processing с использованием Metastore

Была ли статья полезна?

Предыдущая
Секрет
Следующая
Имперсонация в Metastore
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»