Catalog管理
info
该功能专业版、旗舰版支持
功能介绍
Catalog是Flink管理元数据的方式,想要持久化存储外部数据源的元数据信息,就需要先注册Catalog。
Catalog类型
- DT Catalog: Flink元数据存储至数栈平台的MySQL中,不依赖外部存储;建议用于存储Kafka/Mysql/Oracle/ES等外部数据源的Flink映射表元数据。
- HMS Catalog: Flink元数据存储至外部的HiveMetastore,建议用于存储管理Paimon/Hudi/Iceberg等湖表元数据。
配置Catalog
配置HMSCatalog
HMSCatalog(Hive Metastore Service Catalog)是Apache Hive的一个组件,它提供了对Hive元数据的访问和管理。 在实时创建HMSCatalog,需先在公共管理数据源中心平台创建HiveMetastore数据源并引入实时项目。选择对应HiveMetastore后,存储路径获取hiveConf目录hive-site.xml的warehouse地址,支持warehouse地址支持对存储路径修改,默认表类型支持Paimon、Hudi、Iceberg三种。
创建方法
- Catalog管理UI方式创建
HMSCatalog支持开启Kerberos
- Hive版本:FLinkSQL1.16支持Hive2.1版本、2.3版本
- 集群支持:开启Kerberos集群且Hive、HDFS同时开启KRB;未开启Kerberos集群对应Hive、HDFS开启KRB
- 调度方式支持:K8S、Hadoop2
- 数据湖类型支持:Paimon
配置DTCatalog
DTCatalog是数栈实时平台内置Catalog,支持Kafka、MySQL等数据源中的Topic、表进行持久化映射。映射表可以在任务中重复使用,不需要在每个任务开发时都做一遍重复编辑,FLinkSQL IDE直接Catalog.db.table的方式引用即可。
创建方法
- Catalog管理UI方式创建
配置Database
配置HMSCatalog.Database
HMSCatalog支持在实时新增Database,同时支持从底层通过同步操作,将Catalog下的Database同步到实时平台。
配置DTCatalog.Database
DTCatalog支持在实时新增Database,DTCatalog下的Database仅作为平台内部的一层逻辑作用,不创建实际Database。
删除Catalog
删除前提
- Catalog管理中的Catalog中没有与之关联的Database存在
- HMSCatalog&DTCatalog同理
删除生效范围
删除Catalog仅对平台生效
删除Database
删除前提
- Catalog管理中的Database中没有与之关联的Table存在,表管理中的Database下不存在表
- HMSCatalog&DTCatalog同理
删除生效范围
HMSCatalog.Database删除成功仅对平台生效,不对底层Database产生删除逻辑,HMSCatalog支持删除后重新同步导入。