参考链接
flink DS 模式
官方文档
pom文件
参考 flink cdc2.x mysql ds 模式
code
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ververica.cdc.connectors.mysql.source.MySqlSource;
import com.ververica.cdc.debezium.StringDebeziumDeserializationSchema;
import org.apache.flink.api.common.eventtime.WatermarkStrategy;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import java.util.Properties;
public class FlinkMysql{
public static void main(String[] args) throws Exception {
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
Properties debeziumProperties = new Properties();
debeziumProperties.put("snapshot.locking.mode", "none");
final MySqlSource<String> mysqlSource = MySqlSource.<String>builder()
.hostname("hostname")
.port(3306)
.databaseList("test")
.tableList("test.student")
.username("root")
.password("123456")
.deserializer(new StringDebeziumDeserializationSchema())
.debeziumProperties(debeziumProperties)
.build();
final DataStreamSource<String> mysqlDataSourceDs = env.fromSource(mysqlSource, WatermarkStrategy.noWatermarks(), "MySQL Source");
mysqlDataSourceDs.setParallelism(1);
mysqlDataSourceDs.print("mysql_data:");
env.execute("");
}
}