Skip to main content

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方式创建

    image-CreateCatalog

  • 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方式创建

    image-CreateDTCatalog

配置Database

配置HMSCatalog.Database

HMSCatalog支持在实时新增Database,同时支持从底层通过同步操作,将Catalog下的Database同步到实时平台。

image-HMS-Database.png

配置DTCatalog.Database

DTCatalog支持在实时新增Database,DTCatalog下的Database仅作为平台内部的一层逻辑作用,不创建实际Database。

image-DT-Database-1.png

删除Catalog

删除前提

  • Catalog管理中的Catalog中没有与之关联的Database存在
  • HMSCatalog&DTCatalog同理

删除生效范围

  • 删除Catalog仅对平台生效

    image-dropCatalog.png

删除Database

删除前提

  • Catalog管理中的Database中没有与之关联的Table存在,表管理中的Database下不存在表
  • HMSCatalog&DTCatalog同理

删除生效范围

  • HMSCatalog.Database删除成功仅对平台生效,不对底层Database产生删除逻辑,HMSCatalog支持删除后重新同步导入。

    image-dropDatabase.png