由于flink每个数据都要直接查询mysql会导致mysql压力很大,前一条数据没处理完后面的数据会阻塞,导致数据背压,此时可以考虑flink的异步IO机制,mysql的话和vertx结合实现异步维表关联,加快了效率
1、引入依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.44</version>
</dependency>
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-jdbc-client</artifactId>
<version>3.8.3</version>
</dependency>
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-core</artifactId>
<version>3.8.3</version>
</dependency>
2、自定义source数据流
package com.test;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
/**
* 自定义Source
*/