Flink CDC这个是为什么,报错的这个表不在这个任务里,在另一个任务。

Flink CDC这个是为什么,报错的这个表不在这个任务里,在另一个任务。Caused by: org.apache.flink.util.FlinkRuntimeException: Read split MySqlSnapshotSplit{tableId=dmc_darlink.sms_batch_rpt, splitId='dmc_darlink.sms_batch_rpt:140', splitKeyType=[id DECIMAL(20, 0) NOT NULL], splitStart=[1224161], splitEnd=[1232905], highWatermark=null} error due to java.lang.NullPointerException.

展开
收起
真的很搞笑 2023-05-09 13:36:18 170 分享 版权
1 条回答
写回答
取消 提交回答
  • 存在即是合理

    这个错误通常是因为Flink CDC在尝试从源(source)中读取数据时,遇到了一个空的或无效的分区(partition),因此无法继续读取数据。

    根据您提供的错误信息,看起来您的表dmc_darlink.sms_batch_rpt在一个任务中不存在,但在另一个任务中存在。这可能是由于CDC插件在不同的任务之间切换时出现了问题,导致它无法正确地找到要读取的表。

    为了解决这个问题,您可以尝试以下方法:

    1. 确保在CDC插件配置中正确设置了源(source)和目标(sink)的位置。检查您的配置文件是否正确指定了要连接的数据库和表,以及它们的位置。

    2. 如果您使用的是Flink SQL,请确保您的SQL查询正确地引用了所有必要的表和列。如果有任何错误的引用或拼写错误,可能会导致CDC插件无法正确找到要读取的表。

    3. 如果您的数据库中有多个分区(partition),请确保您的CDC插件正确地配置了要读取的分区。检查您的配置文件是否正确指定了要读取的分区键(partition key)和分区值(partition value)。

    希望这些信息能够帮助您解决问题!

    2023-05-11 19:42:38
    赞同 展开评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

还有其他疑问?
咨询AI助理