流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点的企业级实时大数据分析平台。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。
本示例使用 Oceanus 平台的 元数据管理 功能,通过库表引用将作业中生成的随机数据存入到 MySQL 中。再通过对变量的管理完成变量的引用。
进入 Oceanus 控制台,点击左侧【集群管理】,点击左上方【创建集群】,具体可参考 Oceanus 官方文档 创建独享集群。
进入 MySQL 控制台,点击左上角【新建】创建实例,进入实例数据库,创建表。
进入 Oceanus 控制台,进入自己的【工作空间】,点击左侧【作业管理】,创建 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
*
FROM
datagen_source_table;
在【变量管理】功能界面中,选择【新建】,在弹窗中输入变量名称变量值以及变量描述,创建了一个名为"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 作业开发中快速引用元数据。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。