0
点赞
收藏
分享

微信扫一扫

Dinky的使用——实现多路输出

巧乐兹_d41f 2022-10-23 阅读 91

其实多路输出就是制定多个个insert into语句,我这里以mysql数据库为例,实现三路输出的一个小案例

一、创建作业

Dinky的使用——实现多路输出_数据

 

 

 

二、编写flinksql代码

CREATE TABLE source_news( 
`id` INT,
`timestamp` TIMESTAMP,
`title` STRING,
`source` STRING,
`head_img` STRING,
`url` STRING,
`category` STRING,
`keyword` STRING,
`tag` STRING,
`description` STRING,
`content` STRING
) COMMENT 'source_news'
WITH (
'connector' = 'jdbc',
'url' = 'jdbc:mysql://172.16.119.50:3306/test?createDatabaseIfNotExist=true&useSSL=false&characterEncoding=UTF-8',
'username' = 'root',
'password' = 'Tj@20220710',
'table-name' = 'source_news'
);

CREATE TABLE sport_count(
`id` INT,
`timestamp` TIMESTAMP,
`title` STRING,
`source` STRING,
`head_img` STRING,
`url` STRING,
`category` STRING,
`keyword` STRING,
`tag` STRING,
`description` STRING,
`content` STRING
) COMMENT 'sport_count' WITH (
'connector' = 'jdbc',
'url' = 'jdbc:mysql://172.16.119.50:3306/test?createDatabaseIfNotExist=true&useSSL=false&characterEncoding=UTF-8',
'username' = 'root',
'password' = 'Tj@20220710',
'table-name' = 'sport_count'
);

CREATE TABLE sport_football(
`id` INT,
`timestamp` TIMESTAMP,
`title` STRING,
`source` STRING,
`head_img` STRING,
`url` STRING,
`category` STRING,
`keyword` STRING,
`tag` STRING,
`description` STRING,
`content` STRING
) COMMENT 'sport_football' WITH (
'connector' = 'jdbc',
'url' = 'jdbc:mysql://172.16.119.50:3306/test?createDatabaseIfNotExist=true&useSSL=false&characterEncoding=UTF-8',
'username' = 'root',
'password' = 'Tj@20220710',
'table-name' = 'sport_football'
);

create table raise_children_count(
`id` int,
`category` string,
`title` string
-- PRIMARY KEY (id) NOT ENFORCED
) COMMENT 'raise_children_count' with(
'connector' = 'jdbc',
'url' = 'jdbc:mysql://172.16.119.50:3306/test?createDatabaseIfNotExist=true&useSSL=false&characterEncoding=UTF-8',
'username' = 'root',
'password' = 'Tj@20220710',
'table-name' = 'raise_children_count'
);


insert into raise_children_count(category,title)
select category,title from source_news where category='育儿';

insert into sport_count
SELECT * FROM source_news where category='运动';

insert into sport_football
select * from source_news where tag like '%国足%';

 

我这里下载了一个20万条的新闻数据集

输出一:获取属于育儿分类的新闻数据

输出二:获取运动分类的新闻数据

输出三:获取tag字段带有“国足”关键词的新闻数据

 

三、运行作业

检查sql语法没有问题,选择提前部署好的flink集群,同时选定开启insert语句集按钮,不然只会执行一条insert语句

Dinky的使用——实现多路输出_数据_02

 

 

 

通过查看mysql的三张不同的数据表查看结果:

育儿分类的新闻数据,我这里就拉了两个字段

Dinky的使用——实现多路输出_mysql_03

 

 

 

 

运动分类的新闻数据

Dinky的使用——实现多路输出_flink_04

 

 

 

包含国足关键词的新闻数据

Dinky的使用——实现多路输出_数据_05

 

举报

相关推荐

0 条评论