Flink 实践教程:入门(12):元数据使用

2022-06-14 17:15:40 浏览数 (1)

流计算 Oceanus 简介

流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点的企业级实时大数据分析平台。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。

本示例使用 Oceanus 平台的 元数据管理 功能,通过库表引用将作业中生成的随机数据存入到 MySQL 中。再通过对变量的管理完成变量的引用。

视频内容

前置准备

创建流计算 Oceanus 集群

进入 Oceanus 控制台,点击左侧【集群管理】,点击左上方【创建集群】,具体可参考 Oceanus 官方文档 创建独享集群。

创建 MySQL 实例

进入 MySQL 控制台,点击左上角【新建】创建实例,进入实例数据库,创建表。

创建包含 库表引用 的Oceanus作业

进入 Oceanus 控制台,进入自己的【工作空间】,点击左侧【作业管理】,创建 SQL 作业,切换到【开发调试】,在左侧的【库表引用】界面操作元数据。

在【库表引用】功能界面中,选择右上角的新建 > 数据库,在弹窗中选择 Catalog,输入库名,然后单击下一步,进入【基本信息】这里点击下一步,进入【DDL编辑】将数据库创建语句输入之后点击【完成】。

代码语言:sql复制
--元数据管理创建语句
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复制
--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;

创建包含 变量管理 的Oceanus作业

在【变量管理】功能界面中,选择【新建】,在弹窗中输入变量名称变量值以及变量描述,创建了一个名为"tableName"值为"source_table"的变量

新建变量.jpg新建变量.jpg

使用【库表引用】进入【DDL编辑】创建新的表并使用变量

代码语言:sql复制
--元数据管理创建语句
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'
 ); 

在【表变量替换】中使用定义的变量,如下图:

变量使用图.jpg变量使用图.jpg

点击提交,然后保存作业就可以使用了

总结

Oceanus 元数据是用户在流计算作业中引用的库表。用户可以在元数据中管理已有的库表,可使用模板、自定义、云资源。如果选择自定义或者云资源,则需输入相应的连接信息。 在 SQL 作业开发中快速引用元数据。

0 人点赞