概述
本文介绍什么是 Catalog, 以及如何使用 Catalog 管理和查询内外部数据。
StarRocks 自 2.3 版本起支持 Catalog(数据目录)功能,实现在一套系统内同时维护内、外部数据,方便您轻松访问并查询存储在各类外部源的数据。
基本概念
- 内部数据:指保存在 StarRocks 中的数据。
- 外部数据:指保存在外部数据源(如 Apache Hive™、Apache Iceberg、Apache Hudi、Delta Lake、JDBC)中的数据。
Catalog
当前 StarRocks 提供两种类型 Catalog:internal catalog 和 external catalog。
-
Internal catalog: 内部数据目录,用于管理 StarRocks 所有内部数据。例如,执行 CREATE DATABASE 和 CREATE TABLE 语句创建的数据库和数据表都由 internal catalog 管理。 每个 StarRocks 集群都有且只有一个 internal catalog 名为 default_catalog。
-
External catalog: 外部数据目录,用于连接外部 metastore。在 StarRocks 中,您可以通过 external catalog 直接查询外部数据,无需进行数据导入或迁移。当前支持创建以下类型的 external catalog:
- Hive catalog:用于查询 Hive 集群中的数据。
- Iceberg catalog:用于查询 Iceberg 集群中的数据。
- Hudi catalog:用于查询 Hudi 集群中的数据。
- Delta Lake catalog:用于查询 Delta Lake 集群中的数据。
- JDBC catalog:用于查询 JDBC 数据源中的数据。
- Elasticsearch catalog:用于查询 Elasticsearch 中的数据。该特性自 3.1 版本起支持。
- Paimon catalog:用于查询 Paimon 中的数据。该特性自 3.1 版本起支持。
- Unified catalog