Paimon Catalog 实现了 Flink 对 数据湖构建(DLF) 数据的直接访问。本文介绍 Catalog 的创建与管理,以及数据库与表的操作流程。
注意事项
-
引擎版本要求
-
基础功能:创建 Paimon Catalog 和表,需使用实时计算引擎 VVR 8.0.5 及以上版本。
-
DLF 集成:若将元数据存储类型设置为 DLF,需使用 VVR 11.1 及以上版本。
-
OSS-HDFS 支持:使用 OSS-HDFS 作为 Paimon Filesystem Catalog 的存储时,需使用 VVR 11.8 及以上版本。
-
-
OSS 存储配置
-
存储类型:Paimon 数据文件与元数据文件存储于 OSS。必须使用标准存储类型的 Bucket。详情请参见存储类型。
-
部署建议:建议创建一个位于同一地域的独立 Bucket。避免复用系统默认 Bucket,以防止数据混淆及误操作。
-
-
权限管理
配置 Catalog 时使用的 AccessKey,必须拥有目标 OSS Bucket 或 DLF 目录的读写权限。 -
格式兼容性
Paimon Catalog 专用于管理 Paimon 格式数据。它不支持访问 Lance、Iceberg 等其他数据湖格式的表。
-
元数据同步
通过 SQL 语句创建或删除 Catalog、数据库及表后,控制台视图可能不会立即变更。请点击页面上的刷新
按钮以获取最新元数据状态。
-
Paimon对应版本
Paimon社区版本
实时计算Flink版引擎版本(VVR )
1.3.1
11.5、11.6、11.7、11.8
1.3
11.4
1.2
11.2、11.3
1.1
11.1
1.0
8.0.11
创建Paimon Catalog
创建Paimon Filesystem Catalog
UI方式
-
进入数据管理页面。
-
登录实时计算管理控制台,单击目标工作空间操作列下的控制台。
-
单击数据管理。
-
-
单击创建Catalog,选择Apache Paimon,单击下一步。
-
填写参数配置信息。
SQL方式
在数据查询文本编辑区域,输入以下命令。
CREATE CATALOG `my-catalog` WITH (
'type' = 'paimon',
'metastore' = 'filesystem',
'warehouse' = '<warehouse>',
'fs.oss.endpoint' = '<fs.oss.endpoint>',
'fs.oss.accessKeyId' = '<fs.oss.accessKeyId>',
'fs.oss.accessKeySecret' = '<fs.oss.accessKeySecret>'
);
配置项参数说明如下。
-
通用
配置项
说明
是否必填
备注
my-catalog
Paimon Catalog名称。
是
请填写为自定义的英文名。
type
Catalog类型。
是
固定值为paimon。
metastore
元数据存储类型。
是
参数取值如下:
-
filesystem:配置为Paimon Filesystem Catalog类型时填写。
-
dlf:配置为Paimon DLF Catalog类型时填写。
-
-
OSS
配置项
说明
是否必填
备注
warehouse
OSS服务中所指定的数仓目录。
是
格式为oss://<bucket>/<object>。其中:
-
bucket:表示您创建的OSS Bucket名称。
-
object:表示您存放数据的路径。
请在OSS管理控制台上查看您的bucket和object名称。
fs.oss.endpoint
OSS服务的连接地址。
是
-
如果Flink与DLF位于同一地域,则使用VPC网络Endpoint,否则使用公网Endpoint。
-
当warehouse指定的OSS Bucket与Flink工作空间不在同一地域,或使用其它账号下的OSS Bucket时需要填写。
获取方法请参见地域和Endpoint和创建AccessKey。
fs.oss.accessKeyId
拥有读写OSS权限的阿里云账号或RAM账号的Accesskey ID。
是
fs.oss.accessKeySecret
拥有读写OSS权限的阿里云账号或RAM账号的Accesskey secret。
是
-
-
OSS-HDFS(VVR 11.8及以上版本)
使用 OSS-HDFS 作为 Paimon Filesystem Catalog 存储时,SQL 示例如下:
CREATE CATALOG `my_catalog` WITH ( 'type' = 'paimon', 'metastore' = 'filesystem', 'warehouse' = 'dls://<bucket>.<dls-endpoint>/<warehouse-path>', 'fs.oss.endpoint' = '<dls-endpoint>', 'fs.oss.accessKeyId' = '<access-key-id>', 'fs.oss.accessKeySecret' = '<access-key-secret>', 'fs.dls.client.mode.enabled' = 'false', 'fs.dls.data.endpoint' = '<oss-data-endpoint>' );配置项参数说明如下。
配置项
说明
是否必填
备注
warehouse
OSS-HDFS服务中所指定的数仓目录。
是
格式为dls://<bucket>.<dls-endpoint>/<warehouse-path>。其中<dls-endpoint>同
fs.oss.endpoint。fs.oss.endpoint
OSS-HDFS服务的连接地址。
是
在OSS管理控制台目标 Bucket 的"概览 > 访问端口"区域,查看 HDFS 服务 Endpoint。
fs.oss.accessKeyId
拥有读写OSS-HDFS权限的阿里云账号或RAM账号的AccessKey ID。
是
—
fs.oss.accessKeySecret
AccessKey ID对应的AccessKey Secret。
是
—
fs.dls.client.mode.enabled
是否启用DLS Client Mode。
是
固定设置为
false。fs.dls.data.endpoint
DLS协议访问底层OSS数据时使用的数据Endpoint。
是
在OSS管理控制台目标 Bucket 的"概览 > 访问端口"区域,查看 OSS 内网 Endpoint。也可查询地域和Endpoint文档。
创建Paimon DLF Catalog
DLF
-
在DLF上创建Paimon Catalog,详情请参见快速使用DLF。
-
DLF Catalog需要和Flink工作空间位于同一地域,否则无法在后续流程中完成关联。
-
-
在实时计算开发控制台上,创建Paimon Catalog。
说明这里仅用于建立与DLF Catalog的映射连接,创建或删除Catalog仅影响映射关系,不会对DLF中的实际数据产生影响。
-
登录实时计算控制台。
-
单击Flink全托管工作空间列表中的工作空间名称,进入对应的工作空间。
-
可以通过UI或者SQL方式来添加Catalog。
UI方式
-
在左侧导航栏,单击数据管理。
-
在Catalog列表页,单击创建Catalog。
-
选择Apache Paimon,单击下一步。
-
metastore 选择 dlf,catalog name 选择需要关联版本的DLF Catalog,单击确定,即可创建Catalog。
SQL命令
在数据查询文本编辑区域,输入以下SQL并执行,即可创建Catalog。
CREATE CATALOG `flink_catalog_name` WITH ( 'type' = 'paimon', 'metastore' = 'rest', 'token.provider' = 'dlf', 'uri' = 'http://cn-hangzhou-vpc.dlf.aliyuncs.com', 'warehouse' = 'dlf_test' );参数说明如下:
参数
描述
是否必填
示例
type
Catalog类型,固定为paimon。
是
paimon
metastore
metastore类型,固定为rest。
是
rest
token.provider
Token提供方,固定为dlf。
是
dlf
uri
访问DLF Rest Catalog Server的URI,格式为
http://[region-id]-vpc.dlf.aliyuncs.com。详见地域与服务接入点中的Region ID。是
http://cn-hangzhou-vpc.dlf.aliyuncs.com
warehouse
DLF Catalog名称。
是
dlf_test
-
-
DLF-Legacy
-
在DLF上创建Paimon Catalog,详情请参见快速入门。
-
DLF Catalog需要和Flink工作空间位于同一地域,否则无法在后续流程中完成关联。
-
-
在实时计算开发控制台上,创建Paimon Catalog。
UI方式
-
进入数据管理页面。
-
登录实时计算控制台,单击目标工作空间操作列下的控制台。
-
单击数据管理。
-
-
单击创建Catalog,选择Apache Paimon,单击下一步。
-
metastore 选择 dlf,catalog name 选择需要关联的V1.0版本的DLF Catalog,然后填写参数配置(所需参数与SQL方式一致)。
SQL命令
在数据查询文本编辑区域,输入以下命令。
CREATE CATALOG `my-catalog` WITH ( 'type' = 'paimon', 'metastore' = 'dlf', 'warehouse' = '<warehouse>', 'dlf.catalog.id' = '<dlf.catalog.id>', 'dlf.catalog.accessKeyId' = '<dlf.catalog.accessKeyId>', 'dlf.catalog.accessKeySecret' = '<dlf.catalog.accessKeySecret>', 'dlf.catalog.endpoint' = '<dlf.catalog.endpoint>', 'dlf.catalog.region' = '<dlf.catalog.region>', 'fs.oss.endpoint' = '<fs.oss.endpoint>', 'fs.oss.accessKeyId' = '<fs.oss.accessKeyId>', 'fs.oss.accessKeySecret' = '<fs.oss.accessKeySecret>' );配置项参数说明如下。
-
通用
配置项
说明
是否必填
备注
my-catalog
Paimon Catalog名称。
是
请填写为自定义的英文名。
type
Catalog类型。
是
固定值为paimon。
metastore
元数据存储类型。
是
固定值为dlf。
-
OSS
配置项
说明
是否必填
备注
warehouse
OSS服务中所指定的数仓目录。
是
格式为oss://<bucket>/<object>。其中:
-
bucket:表示您创建的OSS Bucket名称。
-
object:表示您存放数据的路径。
请在OSS管理控制台上查看您的bucket和object名称。
fs.oss.endpoint
OSS服务的连接地址。
是
-
如果Flink与DLF位于同一地域,则使用VPC网络Endpoint,否则使用公网Endpoint。
-
如果需要将Paimon表存储在OSS-HDFS中,则fs.oss.endpoint的值为
cn-<region>.oss-dls.aliyuncs.com,例如cn-hangzhou.oss-dls.aliyuncs.com。
fs.oss.accessKeyId
拥有读写OSS权限的阿里云账号或RAM账号的Accesskey ID。
是
获取方法请参见地域和Endpoint和创建AccessKey。
fs.oss.accessKeySecret
拥有读写OSS权限的阿里云账号或RAM账号的Accesskey secret。
是
-
-
DLF
配置项
说明
是否必填
备注
dlf.catalog.id
DLF数据目录ID。
是
请在数据湖构建控制台上查看数据目录对应的ID。
dlf.catalog.accessKeyId
访问DLF服务所需的Access Key ID。
是
获取方法请参见创建AccessKey。
dlf.catalog.accessKeySecret
访问DLF服务所需的Access Key Secret。
是
获取方法请参见创建AccessKey。
dlf.catalog.endpoint
DLF服务的Endpoint。
是
详情请参见已开通的地域和访问域名。
说明如果Flink与DLF位于同一地域,则使用VPC网络Endpoint,否则使用公网Endpoint。
dlf.catalog.region
DLF所在区域。
是
详情请参见已开通的地域和访问域名。
说明请和dlf.catalog.endpoint选择的地域保持一致
-
管理Paimon数据库
在数据查询文本编辑区域输入如下命令,选中代码后单击运行。
-
创建数据库
创建Paimon Catalog后,Catalog中会自动创建名为
default的数据库。--my-catalog需要替换为您创建的Paimon Catalog名称。 USE CATALOG `my-catalog`; --my_db需要替换为自定义的database英文名称。 CREATE DATABASE `my_db`; -
删除数据库
重要无法删除DLF类型Catalog下的default数据库,允许删除Filesystem类型Catalog下的default数据库。
--my-catalog需要替换为您创建的Paimon Catalog名称。 USE CATALOG `my-catalog`; --my_db需要替换为您想要删除的数据库名称。 DROP DATABASE `my_db`; --只需要删除内部没有任何表的数据库。 DROP DATABASE `my_db` CASCADE; --删除数据库且同时删除数据库下的所有表。
管理Paimon表
创建表
修改表结构
删除表
查看或删除Paimon Catalog
-
在实时计算管理控制台,单击目标工作空间操作列的控制台。
-
在数据管理页面,查看或删除Paimon Catalog。
-
查看:在Catalog列表页面,查看Catalog名称和类型。如果您需要查看Catalog下的数据库和表,请单击查看。
-
删除:在Catalog列表页面,单击目标Catalog名称对应操作列的删除。
说明删除Paimon Catalog只会删除Flink项目空间数据管理中的记录,不会影响Paimon表的数据文件。删除Catalog后,只需要重新执行创建Paimon Catalog,即可重新使用Catalog中的Paimon表。
您也可以在数据查询文本编辑区域输入
DROP CATALOG <catalog name>;,选中代码后单击运行。
-
相关文档
-
创建Paimon表后,您可以从Paimon表中消费数据或向Paimon表中写入数据,详情请参见Paimon表数据写入和消费。
-
如果内置的Catalog无法满足您的业务需求,您可以使用自定义Catalog,详情请参见管理自定义Catalog。
-
不同场景下Paimon主键表和Append Scalable表的常用优化,详情请参见Paimon性能优化。
