StarRocks catalog
时间: 2025-03-18 15:12:58 浏览: 53
### StarRocks 中 Catalog 的概念与配置
#### 什么是 Catalog?
在 StarRocks 中,Catalog 是用于管理数据库和表元数据的逻辑容器。它允许用户在一个集群中定义多个外部数据源,并通过统一的方式访问这些数据源中的数据[^1]。需要注意的是,默认情况下,StarRocks 提供了一个内部 Catalog,称为 `default_catalog`,它是不可删除的。
#### 如何查看当前可用的 Catalogs?
可以通过以下 SQL 命令来查询当前已注册的 Catalog 列表:
```sql
SHOW CATALOGS;
```
此命令会返回所有已经创建并注册到 StarRocks 集群中的 Catalog 名称及其相关信息。
#### 创建新的 External Catalog
除了默认的 Internal Catalog 外,还可以创建 External Catalog 来连接其他类型的存储系统(如 Hive 或 Iceberg)。以下是创建一个 External Catalog 的通用语法:
```sql
CREATE EXTERNAL CATALOG catalog_name
PROPERTIES (
"key1" = "value1",
"key2" = "value2"
);
```
具体属性取决于目标数据源类型。例如,如果要连接到 Hive,则需要指定如下参数:
- `"hive.metastore.uris"`:Hive Metastore URI 地址。
- 可选参数还包括 Kerberos 认证等相关设置。
对于不同种类的数据源,其 PROPERTIES 字段会有差异,请参照官方文档获取更详细的指导。
#### 使用特定 Catalog 下的操作
当执行某些操作时可能希望切换至某个具体的 Catalog 上下文中工作。可以利用 USE STATEMENT 实现这一点:
```sql
USE catalog_name.db_name;
```
这样就可以针对选定目录下的某数据库开展进一步活动了,比如建表、查询等动作都会基于这个上下文环境来进行处理。
#### 删除 External Catalog (仅限于外部)
由于无法移除内置的标准选项即 Default_Catalog ,所以这里讨论如何销毁自定义建立起来之外部实例 。采用 DROP COMMAND 完成这项任务 :
```sql
DROP CATALOG catalog_name;
```
这将彻底消除关联的所有记录以及链接设定等内容项。
---
### 注意事项
尽管能够自由增删改查各类 external catalogs ,但是 internal ones 却受到严格保护机制制约而不能被随意处置掉 .
---
阅读全文
相关推荐


















