作者:腾讯云流计算 Oceanus 团队
流计算 Oceanus 简介
流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点的企业级实时大数据分析平台。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。
本示例使用 Oceanus 平台的 元数据管理 功能,通过库表引用将作业中生成的随机数据存入到 MySQL 中。再通过对变量的管理完成变量的引用
前置准备
创建流计算 Oceanus 集群
进入 Oceanus 控制台 [1],点击左侧【集群管理】,点击左上方【创建集群】,具体可参考 Oceanus 官方文档 创建独享集群 [2]。
创建 MySQL 实例
进入 MySQL 控制台 [3],点击左上角【新建】创建实例,进入实例数据库,创建表。
创建包含 库表引用 的Oceanus作业
进入 Oceanus 控制台 [1],进入自己的【工作空间】,点击左侧【作业管理】,创建 SQL 作业,切换到【开发调试】,在左侧的【库表引用】界面操作元数据。在【库表引用】功能界面中,选择右上角的新建 > 数据库,在弹窗中选择 Catalog,输入库名,然后单击下一步,进入【基本信息】这里点击下一步,进入【DDL编辑】将数据库创建语句输入之后点击【完成】。
--元数据管理创建语句CREATE TABLE `metadata_sink` (`id` INT,`name` STRING) WITH ('connector' = 'jdbc','url' = 'jdbc:mysql://127.0.0.1:3306/testmate','table-name' = 'source_table_test','username' = 'username','password' = 'password');
在 SQL 作业中可以直接引用元数据表,将光标移动到想要引用的元表上面,右侧会显示【操作】菜单,单击【引用】,元数据表使用三段式引用,例如`dc`.`db`.`test_table`。
--sql作业模版CREATE TABLE datagen_source_table (id INT, name STRING) WITH ( 'connector' = 'datagen', 'rows-per-second' = '1' -- 每秒产生的数据条数);INSERT INTO`_dc`.`testdb`.`metadata_sink`SELECT *FROMdatagen_source_table;
创建包含 变量管理 的Oceanus作业
在【变量管理】功能界面中,选择【新建】,在弹窗中输入变量名称变量值以及变量描述,创建了一个名为"tableName"值为"source_table"的变量
使用【库表引用】进入【DDL编辑】创建新的表并使用变量
--元数据管理创建语句CREATE TABLE `mate_source_table_pre` (`id` INT,`name` STRING) WITH ('connector' = 'jdbc','url' = 'jdbc:mysql://172.0.0.1:3306/testmate','table-name' = '${table-name}:source_table_test1', --格式:${变量名称}:默认值'username' = 'username','password' = 'password');
在【表变量替换】中使用定义的变量,如下图:
点击提交,然后保存作业就可以使用了
总结
Oceanus 元数据是用户在流计算作业中引用的库表。用户可以在元数据中管理已有的库表,可使用模板、自定义、云资源。如果选择自定义或者云资源,则需输入相应的连接信息。在 SQL 作业开发中快速引用元数据。
参考链接
[1] Oceanus 控制台:https://console.cloud.tencent.com/oceanus/overview
[2] 创建独享集群:https://cloud.tencent.com/document/product/849/48298
[3] MySQL 控制台:https://console.cloud.tencent.com/cdb
扫码加入 流计算 Oceanus 产品交流群