请问老师,这种自定义source读取mysql数据如何做到实时读取呢,每次都是读完表里的存量数据,程序就退出了,那样是没办法做到读取增量吗?
来源:5-7 自定义Source读取MySQL数据

Link_scnu
2021-08-05
请问老师,这种自定义source读取mysql数据如何做到实时读取呢,每次都是读完表里的存量数据,程序就退出了,那样是没办法做到实时读取增量吗?
如果在run()方法中,添加一个 private boolean flag = true;如下图,这样只会循环读已经读过的
@Override
public void run(SourceContext<Student> ctx) throws Exception {
while (flag){
ResultSet rs = psmt.executeQuery();
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
ctx.collect(new Student(id, name, age));
Thread.sleep(2000);
}
}
}
写回答
1回答
-
Michael_PK
2021-08-08
明白你的意思,你是说如果mysql的数据发生了变化,如何实时抓取到时吧? 后面的课程有,可以是有canal或maxwell之类的框架
10
相似问题