开发者社区> 问答> 正文

为什么我指定里的一张表,但是从kafka里面就看不到schema名和表名

我设置了这个 canal.instance.filter.regex=db_shopdog_test.deli_order 但是kafka里面解析不到schema名和表名

原提问者GitHub用户ZSH9053

展开
收起
Java工程师 2023-05-08 19:22:10 126 0
2 条回答
写回答
取消 提交回答
  • 先看下wiki,确认下filter是否生效

    原回答者GitHub用户agapple

    2023-05-09 19:34:56
    赞同 展开评论 打赏
  • 根据提供的信息,可以看出问题可能出在以下几个方面:

    1、Canal的filter规则配置是否正确:检查配置文件中的 canal.instance.filter.regex 是否正确设置为 db_shopdog_test.deli_order,且没有其他的过滤规则覆盖掉了这个规则。

    2、Canal服务连接MySQL是否正常:检查Canal服务是否正确连接到MySQL,并且同步了该表的数据。可以通过查看Canal日志文件来确定是否有错误发生。

    3、Kafka的消息格式是否正确:检查消息内容是否包含了schema名和表名。可以通过查看消息的原始内容来确定消息格式是否正确。

    4、消费者程序是否正确解析消息:检查消费者程序是否正确解析了Kafka消息中的schema名和表名。可以通过查看消费者程序的代码来确定是否有问题。

    如果以上都没有问题,可以尝试使用Canal提供的JDBC方式来消费数据,看看是否能够正确获取到schema名和表名。如果仍然存在问题,可以考虑升级Canal和Kafka版本,或者咨询相关技术支持。

    2023-05-09 08:04:53
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第16讲】:Spring Boot 2.0 实战Apache Kafka百万级高并发消息中间件与原理解析 立即下载
MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
消息队列kafka介绍 立即下载