跳到主要内容
Flink Catalog,一次建表全局复用
实时未来技术团队实时未来
阅读需 7 分钟

Flink Catalog,一次建表全局复用

温馨提示

Flink CatalogFlink 提供的一个元数据管理组件,用于统一管理数据库、表、视图、函数等元数据,使得用户可以在 SQLTable API 中像操作数据库一样方便地访问和管理不同数据源的结构信息,实现跨系统的数据互通和一致性操作。

Awestream 提供完整的 Flink 元数据管理解决方案,包含如下管理方式:

  • SQL 方式:支持通过标准 SQL 语句进行元数据操作
  • 可视化方式:提供友好的图形界面进行元数据管理

StreamPark Catalog

Awestream 内置了 streampark catalog 作为默认元数据存储方案,具有以下特性:

  • 多数据库支持:底层存储支持 H2MySQL 以及 PostgreSQL
  • 业务集成:与业务数据库绑定,实现统一管理
  • 完整对象支持:支持 databasetableview 三级对象模型

可视化方式

通过 Awestream 控制台,你可以直观地浏览和操作所有元数据对象。

overview

通过图形化界面完成以下操作:

  • 创建/修改/删除 database(数据库)
  • 创建/修改/删除 table(数据库)
  • 创建/修改/删除 view(视图)
  • 查看元数据详情
  • 快速检索元数据对象
  • ......

SQL 控制台

进入作业开发模块,依次点击 “导航面板” → “SQL 查询”

job-draft-console

从上图可以看出,点击 "SQL 查询" 按钮之后,在操作工具栏会固定出现一个 “SQL Query” 的页签,中间是你写 Flink SQL 核心的工作区域,当然注释里面也提示了支持的语法。

SQL 操作

你可以通过 SQL 去管理元数据,Awestream 支持所有的 Flink SQL 语法,包括但不限于以下:

  • CREATE: 创建新的元数据,如:Catalog 、数据库、表、视图等
  • DROP:移除已存在的数据结构,如:Catalog 、数据库、表、视图等
  • ALTER:修改已存在元数据的属性或定义,如:数据库、表、视图等
  • SHOW: 列出 Catalog 、数据库、表、视图或 Function 等信息
  • DESCRIBE: 获取表的详细结构信息
  • SELECT :实时数据预览
  • INSERT :实时数据同步
  • ......

右键操作

除了通过 SQL 的方式管理元数据,这里还提供了 “右键元数据树” 的快捷方式。不同的树节点对应不同的操作:

  • Catalog 节点:支持 “复制名称” 以及 “插入 DDL” 的操作
  • Database 节点:支持 “复制名称” 以及 “插入 DDL” 的操作
  • Tables 节点:支持 “刷新” 以及 “插入表” 的操作
  • Table 节点:支持 “复制名称” 、 “插入DDL”、“修改属性”以及 “删除表” 的操作
  • Views 节点:仅支持 “刷新” 的操作
  • View 节点:支持 “复制名称” 、 “插入DDL” 以及 “删除视图” 的操作

Catalog 管理

鼠标移动至元数据树的 Catalog 节点,然后右键,可以看到支持 复制名称 以及 插入 DDL 的操作。

job-draft-right-btn-catalog

点击 插入DDL 操作后,可以看到把当前选中的 Catalog 节点的 DDL 信息插入到了右侧的工作编辑区,你直接通过修改相关的配置,即可执行并创建 Catalog

job-draft-right-btn-catalog-create

Database 操作

鼠标移动至元数据树的 Database 节点,然后右键,可以看到支持 复制名称 以及 插入 DDL 的操作。

job-draft-right-btn-database

点击 插入DDL 操作后,可以看到把当前选中的 Database 节点的 DDL 信息插入到了右侧的工作编辑区,你直接通过修改相关的配置,即可执行并创建 Database

job-draft-right-btn-database-create

Tables 操作

鼠标移动至元数据树的 Tables 节点,然后右键,可以看到支持 刷新 以及 插入表 的操作,可以通过选择连接器来快速创建表。

job-draft-right-btn-tables

例如这里选择了 jdbc 连接器,那么在右侧的工作编辑区域,会根据我们选择的连接器,自动填充对应的 建表模板,如下图所示:

job-draft-right-btn-tables-create

Table 操作

鼠标移动至元数据树的 Table 节点,然后右键,可以看到支持 复制名称插入DDL修改属性以及 删除表 的操作。

job-draft-right-btn-table

如果点击复制名称,会直接复制对应的表名。点击删除表,会自动把表删除。当然也可以插入 DDL,在右侧的工作编辑区会看见对应表的 DDL 内容,如下图:

job-draft-right-btn-table-ddl

当然也可以右键修改表的属性,如下图:

job-draft-right-btn-table-alter

Views 操作

鼠标移动至元数据树的 Views 节点,然后右键,可以看到仅支持 刷新 的操作。

job-draft-right-btn-views

View 操作

鼠标移动至元数据树的 View 节点,然后右键,可以看到支持 复制名称插入DDL 以及 删除视图 的操作。

job-draft-right-btn-view

如果点击复制名称,会直接复制对应的表名。点击删除表,会自动把表删除。当然也可以插入 DDL,在右侧的工作编辑区会看见对应表的 DDL 内容,如下图:

job-draft-right-btn-view-ddl