Flink Catalog

Catalog 提供了元数据信息,例如数据库、表、分区、视图以及数据库或其他外部系统中存储的函数和信息。

数据处理最关键的方面之一是管理元数据。 元数据可以是临时的,例如临时表、或者通过 TableEnvironment 注册的 UDF。 元数据也可以是持久化的,例如 Hive Metastore 中的元数据。Catalog 提供了一个统一的API,用于管理元数据,并使其可以从 Table API 和 SQL 查询语句中来访问。

Catalog类型

  • GenericInMemoryCatalog

基于内存实现,所有元数据只在 session 的生命周期内可用

  • JdbcCatalog

可以将 Flink 通过 JDBC 协议连接到关系数据库。Postgres Catalog 和 MySQL Catalog 是目前 JDBC Catalog 仅有的两种实现

  • HiveCatalog

作为原生 Flink 元数据的持久化存储,以及作为读写现有 Hive 元数据的接口

  • 用户自定义 Catalog

用户可以通过实现 Catalog 接口来开发自定义 Catalog,除了需要实现自定义的 Catalog 之外,还需要为这个 Catalog 实现对应的 CatalogFactory 接口

新的 Catalog 有三层结构,最顶层是 Catalog 的名字,中间一
层是 Database,最底层是各种 MetaObject,如 Table,Partition,Function 等

Catalog

  • 支持 Create,Drop,List,Alter,Exists 等语句
  • 支持对 Database,Table,View, Partition,Function,Statistics等的操作

CatalogManager 正如它名字一样,主要是用来管理 Catalog。

CatalogManager 支持的操作包括:

  • 注册 Catalog(registerCatalog)
  • 获取所有的 Catalog(getCatalogs)
  • 获取特定的 Catalog(getCatalog)
  • 获取当前的 Catalog(getCurrentCatalog)
  • 设置当前的 Catalog(setCurrentCatalog)
  • 获取当前的 Database(getCurrentDatabase)
  • 设置当前的 Database(setCurrentDatabase)

Original: https://www.cnblogs.com/bigdata1024/p/16286401.html
Author: chaplinthink
Title: Flink Catalog

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/683941/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球