Hive vs HMS

HMS - Hive Metastore

Я долгое время вообще не знала про существование HMS. Для меня HMS и Hive шли неразрывно, и я не отличала одно от другого. Я же такая не одна, да?🌸

Но в один момент до меня дошло, что:

🤩Hive - это движок, который через синтаксис SQL (HiveQL) умеет ходить к данным. Мы пишем запросы как будто в обычной бд, но они становятся MapReduce/Tez/Spark задачами и ходят в файлики

🤩HMS - это каталог метаданных: схема таблиц, пути к файлам, типы данных, партиции и т.д. Ему для работы нужна бд. Чаще всего это PostgreSQL, MySQL

Для работы Hive обязательно нужен HMS А вот сам HMS может использоваться и отдельно - с тем же Spark, Trino, Impala

🧊В контексте Iceberg мы используем HMS как технический каталог. Например, чтобы понимать, что таблице db.orders соответствует файл 000-asdkd27sn.metadata.json

Подробнее про внутрянку hms я рассказывала здесь Про каталоги — тут

@data_engineerette


В этом посте были ссылки, но мы их удалили по правилам Сетки