flink sink jdbc没有数据_Flink SQL实战 — 数据库的结合应用

本文介绍了Flink SQL中JDBC connector的使用,包括数据源和结果存储,重点讨论了MySQL和TiDB的集成。文章还探讨了CDC在Flink SQL中的应用,展示了如何实时同步数据。
摘要由CSDN通过智能技术生成
本篇是Flink SQL实战系列文章的第四篇,主要介绍JDBC connector和mysql-cdc与Flink SQL的结合使用。数据库通常作为生产环境数据源的核心存储,Flink SQL提供了JDBC connector通过JDBC协议来支持数据库的连接,只要兼容JDBC协议的数据库都可以通过该方式,包括MySQL/PostgreSQL/TiDB等。另外,基于数据库的CDC (Change Data Capture)在实际生产中也发挥着重要的作用,Flink SQL提供了mysql-cdc connector 用来追踪MySQL数据库表的增删改操作。作为Flink SQL的核心开发者云邪和雪尽等大佬也写了不少文章来介绍jdbc和cdc connector以及changlog背后的原理,大家可以根据文章末尾的链接来仔细阅读,然后动手实践加深理解。本文中将会基于jdbc和mysql-cdc这两个connector在Flink SQL的实战,介绍的内容如下所示:
  • 数据准备

  • MySQL作为Flink计算的数据源

  • MySQL作为Flink计算的结果存储

  • TiDB在Flink SQL中的使用

  • CDC在Flink SQL中的使用

  • 总结

01 数据准备

本篇的数据依旧沿用第二篇中创建好的数据,对于jdbc connector的实战,继续计算点击流写到MySQL和TiDB;对于mysql-cdc connector,则需要临时创建table 和以及增删改数据,具体流程放在讲述cdc小节里面。

02 MySQL作为Flink计算的数据源

在Flink SQL实战的第二篇文章介绍过MySQL 作为维度表进行temporal table join的应用,这里不再赘述;本小节主要介绍在MySQL作为source的时候,对scan.* 参数的使用进行探索,这四个参数如下所示:

'scan.partition.column''scan.partition.num''scan.partition.lower-bound''scan.partition.upper-bound'
  • 我们根据Flink SQL实战第二篇的广告位, 创建未配置scan相关参数的Flink MySQL table ,详细语句如下所示:

# 创建 Flink MySQl 表, 未配置scan相关的参数CREATE TABLE check_mysql_scan (  ID BIGINT,name STRING) WITH (  'connector' = 'jdbc',  'url' = 'url',  'table-name' = 'adspace',  'username' = 'username',  'password' = 'password');# 提交查询, 通过jobGraph,来验证数据select MAX(ID) from check_mysql_scan;

801caf8c1ca74b0f5f2ef8a0a6c20e37.png

c8df9663234f5f761eaaefa2928658d2.png

239f22f1c5a929df08652f1fe1317dde.png

  • 我们根据Flink SQL实战第二篇的广告位, 创建配置scan相关参数的Flink MySQL table ,详细语句如下所示:

# 创建 Flink MySQl 表, 配置scan相关的参数CREATE TABLE check_mysql_scan (ID BIGINT, name STRING) WITH (  'scan.partition.column' = 'id',  'scan.partition.num' = '3',  'scan.partition.lower-bound' = '20',  'scan.partition.upper-bound' = '100',  'connector' = 'jdbc',  'url' = 'url',  'table-name' = 'adspace',  'username' = 'username',  'password' = 'password');# 提交查询, 通过jobGraph,来验证数据select MAX(ID) from check_mysql_scan  ;

4207046d0eb448d060ce620a5b5ee223.png

d245c8cfee625362377c9abb081dfeac.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值