ByteHouse 支持创建外部 Catalog,包括 Hive、Iceberg、Paimon、MySQL,支持展示和管理外部数据目录(Catalog),支持增删 Catalog、查看 Catalog 中的数据库和表信息、配置 Catalog 资源和数据权限。本文将介绍如何创建和管理外部 Catalog,并为用户授予相关数据、资源权限。
功能概述
ByteHouse 外部 Catalog 用于管理您创建的外部数据源信息与资源。目前支持创建和管理 Hive、Iceberg、Paimon、MySQL 四种类型的数据源,适用于需要对存储在 Hive、Iceberg、MySQL 等多种外部数据源中的数据进行统一查询和管理的场景,无需进行数据迁移。不同数据源支持的元信息存储类型说明如下:
数据源 | 支持的元数据存储类型 |
|---|
Hive | Hive、火山引擎 AI 数据湖服务(LAS) |
Iceberg | Hadoop、火山引擎 AI 数据湖服务(LAS) |
Paimon | Filesystem |
MySQL | 不涉及 |
通过外部 Catalog,您可直接访问并管理这些外部数据源,具体功能说明如下:
功能 | 简介 |
|---|
Catalog 管理 | 支持新增、删除、展示外部 Catalog,查看 Catalog 中的数据库、表等信息。 |
管理 Catalog 数据权限 | 为用户授予 CREATE、SHOW、DROP 等数据管理权限。 |
管理 Catalog 资源权限 | 为用户授予新建外部 Catalog 权限。 |
新增外部 Catalog 后,ByteHouse 内部 Catalog 均迁移至 default 文件夹下。

前提条件
使用外部 Catalog 前,请根据您的 Catalog 使用的元数据存储类型获取以下权限及信息。如果您需要添加 MySQL Catalog,仅需获取 MySQL 相关的权限和连接信息。
条件细分 | 说明 |
|---|
权限 |
访问权限 | - 获取您用于存储数据的存储介质的访问权限。
- 对于依赖 LAS Catalog 作为元数据存储的 Catalog,如 Paimon/Iceberg/Hive,需获取 LAS Catalog 的访问权限。您可登录 LAS 控制台,在权限管理页面,单击新增授权,为您使用的账号授予数据目录的 Viewer 权限,详情请参见权限管理。

|
连接信息 |
获取元数据存储服务地址/存储服务地址 | 如果您的元数据存储类型为 Hive、Hadoop、Filesystem,需获取以下信息: - 元数据存储服务地址/存储服务地址:
- Hive:Hive Thrift 服务器地址。
- Hadoop、Filesystem:存储服务地址。
- 服务端点:
- Hive:访问 Hive 使用的 S3 兼容存储服务的接口地址。
- Hadoop、Filesystem:访问 Hadoop、Filesystem 使用的对象存储的 endpoint。
- 访问密钥 Access Key ID(AK)/Secret Access Key(SK):元数据存储服务/存储服务的访问密钥。
|
获取 LAS 信息 | 如果您的元数据存储类型为 LAS,需获取以下信息: - 服务端点:定义 LAS 使用的 TOS 服务 endpoint。可使用的服务端点列表请参见地域与访问域名(Endpoint)中 S3 Endpoint 列的信息。
- LAS 访问密钥 Access Key ID(AK)/Secret Access Key(SK),获取方式请参见获取方式请参见 AccessKey(密钥)管理。
- LAS Catalog 名称。您可登录 LAS 控制台,在左侧导航栏中,单击数据库 > 元数据管理,查看 Catalog 名称。
- LAS 存储区域:LAS 使用的 TOS 存储服务的物理数据中心所在区域。可使用的区域名请参见地域及访问域名。
- LAS 元数据存储服务地址:LAS 的元数据存储服务地址。常用地域对应的地址如下:
- cn-beijing:
thrift://lakeformation.las.cn-beijing.ivolces.com:48869 - cn-shanghai:
thrift://lakeformation.las.cn-shanghai.ivolces.com:48869 - cn-guangzhou:
thrift://lakeformation.las.cn-guangzhou.ivolces.com:48869 - ap-southeast-1:
thrift://lakeformation.las.ap-southeast-1.ivolces.com:48869
|
获取 MySQL 信息 | 如果您的 Catalog 类型为 MySQL,需获取以下信息: |
使用限制
- 该功能为 Beta 功能,请联系提交工单或联系 ByteHouse 团队获取白名单权限。
- Iceberg、Paimon、MySQL Catalog 要求 ByteHouse 引擎版本为 2.3.2.0 及以上。使用前请确认您的引擎版本满足此要求,可通过 ByteHouse 控制台的租户管理 > 基本信息页面查看当前引擎版本。如果您的引擎版本不符合要求,可提交工单,联系 ByteHouse 团队升级引擎。
创建外部 Catalog
登录 ByteHouse 云数仓版控制台,在顶部数据库页签下,单击 + 新建,单击创建外部Catalog。

选择外部 Catalog 类型及元数据存储类型,并配置外部 Catalog 信息。
- 对于 Hive、Iceberg、Paimon 类型的 Catalog,您可以根据元数据存储类型查看对应的配置信息。
- MySQL Catalog 无需配置元数据存储服务,您可对应查看需配置的连接信息。

元数据存储类型为 Hive、Hadoop、Filesystem 时的参数配置信息:
对于元数据存储类型为 Hive、Hadoop、Filesystem 的 Catalog,需配置的参数类型相同,但获取方式有差异,详见下述参数配置说明。
参数 | Hive | Hadoop | Filesystem |
|---|
元数据存储服务地址/存储服务地址 | Hive Metastore 服务的连接地址,Hive Metastore 是存储 Hive 表元数据(如表结构、分区信息)的服务。填写格式及示例如下: - 格式:
thrift://hive_thrift_server_ip:port,其中 <hive_thrift_server_ip> 为 Hive Thrift 服务器的 IP 地址,<port> 为端口号,您可参考您使用的 Hive 服务的官方文档获取连接地址信息。 - 示例:
thrift://101.1xx.xx.xxx:9083
| Hadoop 使用的存储服务的连接地址,需填写实际存储路径,支持使用 S3 或 HDFS 服务地址。填写格式及示例如下: - 格式:
- S3:
s3://<bucket_name>/<path_to_metadata>,如果您使用的是火山引擎 TOS,可按照 tos://<bucket_name>/<path_to_metadata> 格式,其中,
<bucket_name> 为存储桶名称;<path_to_metadata> 为存储桶中元数据的路径。
- HDFS:
hdfs://<namenode_host>:<port>/<path_to_metadata>,其中,
<namenode_host> 为 Hadoop 集群 namenode 的主机名或 IP 地址;<port> 为端口号;<path_to_metadata> 为存放元数据在 HDFS 中的具体路径。
- 示例:
s3://bytehouse-test/icebergtos://test-catalog/iceberghdfs://haruna/home/bytehouse_test/table_store/bytehouse_test
| Filesystem 使用的存储服务的连接地址,需填写实际存储路径,支持使用 S3 或 HDFS 服务地址。填写格式及示例如下: - 格式:
- S3:
s3://<bucket_name>/<path_to_metadata>,如果您使用的是火山引擎 TOS,可按照 tos://<bucket_name>/<path_to_metadata> 格式,其中,
<bucket_name> 为存储桶名称;<path_to_metadata> 为存储桶中元数据的路径。
- HDFS:
hdfs://<namenode_host>:<port>/<path_to_metadata>,其中,
<namenode_host> 为 Hadoop 集群 namenode 的主机名或 IP 地址;<port> 为端口号;<path_to_metadata> 为存放元数据在 HDFS 中的具体路径。
- 示例:
s3://test-catalog/paimontos://test-catalog/paimonhdfs://haruna/home/bytehouse_test/table_store/bytehouse_test
|
服务端点 | 配置为 S3 兼容存储服务的 endpoint。如果您使用的是火山引擎 TOS,可使用的服务端点列表请参见地域及访问域名表格中的 S3 Endpoint。 |
访问密钥(AK) | S3 兼容存储服务的 Access Key ID,获取方式参考对应服务的密钥管理文档。如果您使用的是火山引擎 TOS,获取方式请参见 AccessKey(密钥)管理。 |
秘密访问密钥(SK) | S3 兼容存储服务的 Secret Access Key,获取方式参考对应服务的密钥管理文档。如果您使用的是火山引擎 TOS,获取方式请参见 AccessKey(密钥)管理。 |
Catalog 名称 | 自定义 Catalog 名称,命名规则如下: - 名称只能包含字母、数字和下划线"_"。
- 长度为 1~64 个字符。
|
元数据存储类型为 LAS 时的参数配置信息:
参数 | 配置说明 |
|---|
服务端点 | 定义 LAS 使用的 TOS 服务 endpoint。可使用的服务端点列表请参见地域与访问域名(Endpoint)中 S3 Endpoint 列的信息。 |
TOS 访问密钥(AK) | 配置为 TOS 的 access key。获取方式请参见 AccessKey(密钥)管理。 |
TOS 访问密钥(SK) | 配置为 TOS 的 secret key。获取方式请参见 AccessKey(密钥)管理。 |
LAS 访问密钥(AK) | 配置为 LAS 的 access key。获取方式请参见 AccessKey(密钥)管理。 |
LAS 秘密访问密钥(SK) | 配置为 LAS 的 secret key。获取方式请参见 AccessKey(密钥)管理。 |
LAS Catalog 名称 | 请在此处填写您希望连接的、在 LAS 中已存在的 Catalog 的名称,以便 ByteHouse 能够定位到正确的外部数据目录。您可登录 LAS 控制台,在左侧导航栏中,单击数据库 > 元数据管理,查看 Catalog 名称。 |
LAS 地域 | 配置为 LAS 使用的 TOS 存储服务的物理数据中心所在区域,可使用的区域名请参见地域及访问域名。 |
LAS 元数据存储服务地址 | 配置为 LAS 的元数据存储服务地址,可填写为 thrift://lakeformation.las.{REGION}.ivolces.com:48869 或 thrift://lf_thrift_server_ip:port,常用地域对应的地址如下: - cn-beijing:
thrift://lakeformation.las.cn-beijing.ivolces.com:48869 - cn-shanghai:
thrift://lakeformation.las.cn-shanghai.ivolces.com:48869 - cn-guangzhou:
thrift://lakeformation.las.cn-guangzhou.ivolces.com:48869 - ap-southeast-1:
thrift://lakeformation.las.ap-southeast-1.ivolces.com:48869
|
Catalog 名称 | 自定义 Catalog 名称,命名规则如下: - 名称只能包含字母、数字和下划线"_"。
- 长度为 1~64 个字符。
|
MySQL Catalog 配置信息:
参数 | 配置说明 |
|---|
连接地址 | MySQL 服务的连接地址。格式为 ip:port。 ip 为 MySQL 服务器的 IP 地址,您可参考您使用的 MySQL 服务的官方文档获取 IP 地址。port 为 MySQL 服务的端口号,您可参考您使用的 MySQL 服务的官方文档获取端口号。
|
用户名 | MySQL 服务的用户名,您可参考您使用的 MySQL 服务的官方文档获取用户名。 |
密码 | MySQL 服务的密码,您可参考您使用的 MySQL 服务的官方文档获取密码。 |
Catalog 名称 | 自定义 Catalog 名称,命名规则如下: - 名称只能包含字母,数字和下划线"_"。
- 长度为 1~64 个字符。
|
单击创建。
查看外部 Catalog
您可在数据库页签下,左侧导航栏中查看新建的 Catalog。您可通过外部 Catalog 查看其中的数据库、表、DDL、数据预览等信息。
删除外部 Catalog
在左侧导航栏中,单击您想要删除的外部 Catalog 文件夹的名称,进入其详情页,单击 ...,单击删除 Catalog,单击确定,即可删除 Catalog。

管理外部 Catalog 权限
您可通过为用户授予角色或直接授予数据、资源权限的方式,对外部 Catalog 进行权限管理。操作详情请参见以下文档: