系列文章目录
文章目录
- 系列文章目录
- 前言
- 3. 业务实现
-
- 3.1 创建catalog
-
- 3.1.1 vvp
- 3.1.2 mysqlcdc
-
- 3.1.2.1 使用限制
- 3.1.2.2 配置MySQL Catalog
- 3.1.3 xxxxpm
-
- 3.1.3.1 下载Paimon插件
- 3.1.3.2 在MaxCompute项目中上传Paimon插件
- 3.1.3.3 创建自定义Catalog类型
- 3.1.3.5 配置catalog
- 3.1.4 xxxxx
-
- 3.1.4.1 背景信息
- 3.1.4.2 授权
- 3.1.4.3 创建MaxCompute Catalog
- 3.1.4.4 基本使用
前言
本文为flink车联网项目:业务实现1,后续章节为:维表开发.
3. 业务实现
3.1 创建catalog
catalog可以将元数据进行持久化,这样后续的操作就可以反复使用这些表的元数据,而不用每次使用时都要重新注册。 根据上述分析,主要使用四种catalog。一种是阿里云flink自带的,叫vvp;另一种是mysql catalog,起名为mysqlcdc;还有一种是paimon catalog,起名为xxxxxpm;还有maxcompute catalog,起名为xxxxx。
3.1.1 vvp
阿里云flink自带的,直接使用即可。主要用来存储除mysql表和paimon表之外的其他信息。 
3.1.2 mysqlcdc
配置MySQL Catalog后,就可以在Flink全托管控制台直接访问MySQL实例中的表,无需通过DDL语句手动注册MySQL表,提升开发效率和正确性。
3.1.2.1 使用限制
仅Flink计算引擎vvr-4.0.11-flink-1.13及以上版本支持配置MySQL Catalog。 不支持修改Catalog DDL。 仅支持查询数据库和表,不支持创建数据库和表。 作为源表仅支持流读、不支持批读,支持作为维表和结果表。 MySQL仅支持5.7和8.0.x版本。
3.1.2.2 配置MySQL Catalog
(1)语法:
CREATE CATALOG <catalogname> WITH(
\’type\’ = \’mysql\’,
\’hostname\’ = \'<hostname>\’,
\’port\’ = \'<port>\’,
\’username\’ = \'<username>\’,
\’password\’ = \'<password>\’,
\’default-database\’ = \'<dbname>\’,
\’catalog.table.metadata-columns\’ = \'<metadata>\’
);
参数 说明 是否必填 catalogname MySQL Catalog名称。 是 type 类型,固定值为mysql。 是 hostname MySQL数据库的IP地址或者Hostname。 是 port MySQL数据库服务的端口号,默认值为3306。 否 default-database 默认的MySQL数据库名称。 是 username MySQL数据库服务的用户名。 是 password MySQL数据库服务的密码。 是 catalog.table.metadata-columns 指定获取数据表时,表的Schema需要添加MySQL CDC源表的元数据列。多个元数据列使用英文分号(;)分隔,例如:op_ts;table_name;database_name。默认不添加元数据列。 说明 o 仅实时计算引擎VVR 6.0.5及以上版本支持该参数。 o 当配置该参数时,返回的表Schema会额外添加指定的元数据列,这些列只适用于MySQL CDC源表,所以该Catalog返回的表只能用作数据源表,不可以用作结果表或维表。 否 (2)选中创建Catalog的代码后,单击左侧代码行数上的运行 其中hostname为rds的内网ip。 CREATE CATALOG mysqlcdc WITH( ‘type’ = ‘mysql’, ‘hostname’ = ‘rm-cn-x0r3fp1lj000qa.rwlb.rds.aliyuncs.com’, ‘port’ = ‘3306’, ‘username’ = ‘XXXXX’, ‘password’ = ‘xxxx’, ‘default-database’ = ‘dim’ ); (3)测试 在流作业草稿中调试运行下面的SQL select * from mysqlcdc.driver.comment_info; 即可看到相应的数据 
3.1.3 xxxxpm
为了方便paimon表的创建和管理,使用单独的paimon catalog。这里不使用vvp的原因是:如果使用vvp则每个paimon表都需要指定type,warehouse等信息,比较冗余;另一方面,使用vvp则只能创建paimon的映射表,如果删除了映射表,数据依然存在,而使用paimon catalog创建的表如果删除表也会同步删除对应的数据。 另外,因为MaxCompute需要访问paimon表,所以需要paimon catalog需要整合MaxCompute。
3.1.3.1 下载Paimon插件
可以通过链接下载,也可以直接使用 资料/jar包中的 paimon_maxcompute_connector.jar https://static-aliyun

