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 相关信息,无需关注下表的其他信息。
条件细分 | 说明 |
|---|---|
获取元数据存储服务地址/存储服务地址 | 如果您的元数据存储类型为 Hive、Hadoop、Filesystem,需获取以下信息:
|
获取 LAS 信息 | 如果您的元数据存储类型为 LAS,需获取以下信息:
|
获取 MySQL 信息 | 如果您的 Catalog 类型为 MySQL,需获取以下信息:
|
登录 ByteHouse 云数仓版控制台,在顶部数据库页签下,单击 + 新建,单击创建外部Catalog。
选择外部 Catalog 类型及元数据存储类型,并配置外部 Catalog 信息。
参数 | Hive | Hadoop | Filesystem |
|---|---|---|---|
元数据存储服务地址/存储服务地址 | Hive Metastore 服务的连接地址,Hive Metastore 是存储 Hive 表元数据(如表结构、分区信息)的服务。填写格式及示例如下:
| Hadoop 使用的存储服务的连接地址,需填写实际存储路径,支持使用 S3 或 HDFS 服务地址。填写格式及示例如下:
| Filesystem 使用的存储服务的连接地址,需填写实际存储路径,支持使用 S3 或 HDFS 服务地址。填写格式及示例如下:
|
服务端点 | 配置为 S3 兼容存储服务的 endpoint。如果您使用的是火山引擎 TOS,可使用的服务端点列表请参见地域及访问域名表格中的 S3 Endpoint。 | ||
访问密钥(AK) | S3 兼容存储服务的 Access Key ID,获取方式参考对应服务的密钥管理文档。如果您使用的是火山引擎 TOS,获取方式请参见 AccessKey(密钥)管理。 | ||
秘密访问密钥(SK) | S3 兼容存储服务的 Secret Access Key,获取方式参考对应服务的密钥管理文档。如果您使用的是火山引擎 TOS,获取方式请参见 AccessKey(密钥)管理。 | ||
Catalog 名称 | 自定义 Catalog 名称,命名规则如下:
| ||
元数据存储类型为 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 的元数据存储服务地址,可填写为 |
Catalog 名称 | 自定义 Catalog 名称,命名规则如下:
|
MySQL Catalog 配置信息:
参数 | 配置说明 |
|---|---|
连接地址 | MySQL 服务的连接地址。格式为
|
用户名 | MySQL 服务的用户名,您可参考您使用的 MySQL 服务的官方文档获取用户名。 |
密码 | MySQL 服务的密码,您可参考您使用的 MySQL 服务的官方文档获取密码。 |
Catalog 名称 | 自定义 Catalog 名称,命名规则如下:
|
单击创建。
您可在数据库页签下,左侧导航栏中查看新建的 Catalog。您可通过外部 Catalog 查看其中的数据库、表、DDL、数据预览等信息。
在左侧导航栏中,单击您想要删除的外部 Catalog 文件夹的名称,进入其详情页,单击 ...,单击删除 Catalog,单击确定,即可删除 Catalog。
您可通过为用户授予角色或直接授予数据、资源权限的方式,对外部 Catalog 进行权限管理。操作详情请参见以下文档: