TGViewer
дата инженеретта дата инженеретта @data_engineerette · 3.43K subscribers
Post #574 2.76K
Разбираемся в каталогах

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

Трино

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

Они прописываются в файлике по типу 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
  • 👍 14
  • 🔥 7
  • ❤ 6
More from @data_engineerette
  1. Sep 22, 20265 октября начнется 19-й поток программы Data Engineer от Newprolab Программа для junior- и…
  2. Sep 15, 2026Каким должен быть хороший DE? Меня однажды спросили на собесе: 🤩Какие 3 качества важны дл…
  3. Sep 12, 2026Mermaid-диаграммы Наконец-то дошли руки поковыряться в mermaid-диаграммах, это что за имба…
  4. Sep 2, 2026Iceberg — это внезапный бум или планомерная подготовка? Заметили, как с определенного моме…
  5. Aug 25, 2026Как забытый ON CLUSTER поставил меня в тупик Я создала таблицу ReplicatedReplacingMergeTre…
  6. Aug 20, 2026В начале лета я рассказывала, как начала проходить курс по алгосам, сейчас делюсь с вами п…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →