Flink CDC中msqlcdc 读数据,五千万数据,想从id是三千万那 开始读,这可以实现吗?
Flink CDC 可以实现从特定 ID 开始读取数据的功能。但是,具体实现方式取决于您的源数据库和数据格式。
如果源数据库支持自定义游标,则可以使用自定义游标从特定 ID 开始读取数据。如果您使用 MySQL 数据库,可以通过调用 CHANGE MASTER TO 语句来移动 binlog 位置,从而从特定位置开始读取数据。
另一种方法是从源数据库中创建临时表,并在其中过滤出您想要的数据。然而,这种方法会消耗大量的资源,因此不适合大量数据集。
目前实现不了,
不过可以where 条件进行过滤,5千万数据还好吧,多开点并行度,直线加速冲刺,此回答整理自钉群“Flink CDC 社区”
可以实现。在Flink CDC中,可以使用startup.from-timestamp
和startup.until-timestamp
参数来指定从哪个时间戳开始读取数据,以及读取到哪个时间戳为止。具体操作如下:
首先,找到你想要开始读取数据的ID对应的时间戳。可以通过查询数据库表的元数据或者使用其他方法来获取。
然后,在启动Flink CDC时,设置startup.from-timestamp
参数为该时间戳。例如:
./bin/flink run -c com.ververica.cdc.connectors.mysql.MySqlSource \n --start-from-timestamp=2022-01-01T00:00:00Z \n --hostname=localhost \n --port=3306 \n --username=root \n --password=changeme \n --database-name=mydb \n --table-names=mytable \n --debezium-properties="{...}"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。