avatar
дата инженеретта
@data_engineerette
13.04.2026 07:35
Разбираемся в каталогах

Начинаем понедельник с распутывания клубочка🧶 Концепций каталога развелось столько, что я сама уже запуталась, что есть что) Давайте вместе разложим по полочкам

Трино

Каталог - это конфиги для подключения к разным источникам данных

Они прописываются в файлике по типу etc/catalog/iceberg.properties:


connector.name=iceberg
iceberg.catalog.type=hive_metastore
hive.metastore.uri=thrift://hive-metastore:9083


Потом можно в запросах обращаться по названию этого коннектора:


SELECT * FROM iceberg.db.table;
SELECT * FROM postgres.public.table;


Spark

Каталог - это API Spark для работы с разными источниками данных

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


spark.conf.set("spark.sql.catalog.spark_catalog", "org.apache.iceberg.spark.SparkSessionCatalog")
spark.conf.set("spark.sql.catalog.spark_catalog.type", "hive")

spark.conf.set("spark.sql.catalog.clickhouse", "com.clickhouse.spark.ClickHouseCatalog")
spark.conf.set("spark.sql.catalog.clickhouse.host", "host")
spark.conf.set("spark.sql.catalog.clickhouse.user", "user")
spark.conf.set("spark.sql.catalog.clickhouse.password", "password")


Дальше обращаться по названию каталога через Spark SQL/DataFrame API:


spark.table("spark_catalog.default.table")
spark.table("clickhouse.default.table")


Iceberg

Каталог - это хранилище метаданных Iceberg таблиц (где лежат снепшоты, манифесты, схемы)

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

Есть несколько реализаций: HMS (Hive Metastore), JDBC (обычные бд), AWS Glue, REST - Nessie, Polaris, Lakekeeper, lakeFS, Tabular, Unity Catalog

Data Catalog

Каталог - это реестр всех метаданных

Он нужен для Data Governance: сканирует мету из бд, хранит схемы таблиц, содержит техническое описание сущностей и полей, бизнес-описание метрик, умеет в data lineage. Здесь каталог вообще сборку от предыдущих пунктов

Примеры: DataHub, OpenMetadata, Apache Atlas, Amundsen, Marquez, AWS Glue Data Catalog

@data_engineerette
👍 13
🔥 7
6
16 16 2.2K

Обсуждение 16

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram