当前位置: 首页 > 工具软件 > Catlog > 使用案例 >

18.flink Table/Sql API之 catlog

高吉星
2023-12-01

概要

本小节只讲解catlog的概念,不涉及代码部分,而这一部分的知识是十分重要的。

1.catlog是干嘛的

flink内部的Table是flink自己的数据对象,不是狭义上的mysql上的table, flink连接外部数据库(比如mysql/hive)建立Table的时候需要catlog提供的元数据信息做桥接。 这就是catlog的作用。 引用官网的一句话:Catalog 使用户能够引用其他数据库中的元数据,并自动将它们映射到 Flink 对应的元数据。 这些元数据是sql支持的基础。

2.catlog有哪些

要知道不同的数据库的元数据类型不一样,因此catlog也分为很多种。

  1. GenericInMemoryCatalog
    内存型catlog,所有对象仅在会话的生命周期内可用。
  2. JdbcCatalog
    JdbcCatalog提供了flink到mysql的元数据的映射,使得flink可以很方便的将myql数据库中的数据转换成flink的Table。
  3. HiveCatalog
    作为纯 Flink 元数据的持久存储,以及作为读取和写入现有 Hive 元数据的接口。
  4. 自定义catlog
    需要用户实现CatalogFactory 接口

3.总结

catlog作为flink 和外部数据存储系统的元数据映射媒介是很重要的,你需要理解利用catlog你就实现在flink代码中连接以及操作外部数据库。 catlog 可以查看数据库databases, 创建数据库,在数据库中创建表格, listtable. 等。

 类似资料: