美文网首页
Flink sql 创建 视图-view

Flink sql 创建 视图-view

作者: wudl | 来源:发表于2022-12-09 00:40 被阅读0次

1.场景是 通过flink sql 对表的操作,通过添加多个算子 对结果的操作如图:

例子不是很恰当主要是 我们在创建数仓表时,通过先将一个函数的结果集放到一个视图中, 在通过一个一个函数将结果放入到下一个视图中, 然后在通过视图View2 的结果放入到 数仓新表中。

比如 对一张表中的一列进行函数的结果放入到一个视图中 在对视图进行一个函数 结果集放入到视图中,最终将视图中的结果放入到表中。


flink sql view.png

2. 版本

mysql flink
5.7.20-log fink 14.5

3.先创建mysql 表

CREATE DATABASE ;
USE `test`;
DROP TABLE IF EXISTS `Flink_cdc`;
CREATE TABLE `Flink_cdc` (
  `id` bigint(64) NOT NULL AUTO_INCREMENT,
  `name` varchar(64) DEFAULT NULL,
  `age` int(20) DEFAULT NULL,
  `birthday` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=72 DEFAULT CHARSET=utf8mb4;
insert  into `Flink_cdc`(`id`,`name`,`age`,`birthday`,`ts`) values 
(69,'flink',21,'2022-12-09 22:57:15','2022-12-09 22:57:17'),
(70,'flink sql',22,'2022-12-09 23:01:43','2022-12-09 23:01:46'),
(71,'flk sql',23,'2022-12-09 23:43:04','2022-12-09 23:43:07');

3.创建flink mysql cdc 表

 CREATE TABLE source_mysql (
  id BIGINT PRIMARY KEY NOT ENFORCED,
  name STRING,
  age INT,
  birthday TIMESTAMP(3),
  ts TIMESTAMP(3)
) WITH (
'connector' = 'mysql-cdc',
'hostname' = '192.168.1.180',
'port' = '3306',
'username' = 'root',
'password' = '123456',
'server-time-zone' = 'Asia/Shanghai',
'debezium.snapshot.mode' = 'initial',
'database-name' = 'test',
'table-name' = 'Flink_cdc'
);

4.创建视图

Flink SQL> create view v1 as  select * from source_mysql;
[INFO] Execute statement succeed.

5.创建算子

先说下这个函数的意思

 INSTR(string1, string2)  --返回string2在string1 中第一次出现的位置
        --select INSTR('flinksql','k');  -- 返回5
create view v2 as select id,instr(name,'k'),age,birthday from v1;
查询flink sql 视图.png

6.将结果写入到新表中 (比如创建表V3)

create view v3 as  select * from v2 where name in (select min(name) from v2);
flinksql v3.png

7. 也可以往视图中添加数据

create view v6  as values ('1','flink','hbase','hive');

相关文章

  • SQL视图

    SQL 视图(Views)视图是可视化的表。 讲解如何创建、更新和删除视图。 SQL CREATE VIEW 语句...

  • SQL干货篇三

    SQL干货篇三 创建视图 create view <视图名>[(列名),(列名)...] as <子查询> [wi...

  • 视图

    创建视图 创建视图语法:create VIEW 视图名 AS 查询语句; CREATE VIEW view_all...

  • 【Flink SQL】如何解析和校验 Flink SQL

    1.flink sql 解析 方法1:直接创建 flink sql parser 解析多行 sql 方法2:通过 ...

  • MySQL视图、存储过程

    1. 创建视图一般格式:create view 视图名称 as SQL语句 2. 删除视图一般格式:drop vi...

  • 2021-07-24 刷题38、39、40题

    SQL38针对actor表创建视图actor_name_view[https://www.nowcoder.com...

  • MySql 视图

    视图的创建 视图用create view语句来创建 使用show create view viewname来查看创...

  • oracle的那些事

    1.oracle视图操作 创建视图:create view视图名称as查询数据; 删除视图:drop view...

  • 视图

    SQL CREATE VIEW 语句 什么是视图?在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。视...

  • 5、UIView及CALayer

    UIView 创建View的步骤 创建视图对象 设置frame及相关属性 将创建的View添加到父视图 常用Vie...

网友评论

      本文标题:Flink sql 创建 视图-view

      本文链接:https://www.haomeiwen.com/subject/mvczfdtx.html