开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC mysql同步到doris,从哪里出来的?想问下有什么思路么?

Flink CDC mysql同步到doris,报数据类型转换错误 Caused by: java.lang.NumberFormatException: For input string: "UTF8MB4'0",分析不出来这个 "UTF8MB4'0" 从哪里出来的?想问下有什么思路么?CREATE TABLE mysql表 (
id int(11) unsigned NOT NULL AUTO_INCREMENT ,
project_id int(11) unsigned NOT NULL DEFAULT '0' ,
faq_id int(11) unsigned NOT NULL DEFAULT '0',
elasticsearch_id varchar(30) DEFAULT NULL,
question longtext NOT NULL COMMENT,
created_time int(11) unsigned NOT NULL DEFAULT '0' ,
updated_time int(11) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (id) USING BTREE,
KEY idx_faq_id (faq_id) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=13540 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC ;

展开
收起
真的很搞笑 2023-09-06 18:46:56 78 0
1 条回答
写回答
取消 提交回答
  • 根据您提供的错误信息和建表语句,错误出现在数据类型转换上,具体是因为无法将字符串 "UTF8MB4'0" 转换为数字类型。

    从您提供的建表语句来看,这个错误可能是由于在 DEFAULT 子句中的默认值设置出现了问题。在您的建表语句中,project_id、faq_id、created_time 和 updated_time 字段的默认值都被设置为 '0'。

    然而,根据您提供的错误信息,看起来 project_id 字段的默认值被解析为了 "UTF8MB4'0",这是一个非法的数字格式,导致了数据类型转换错误。

    解决这个问题的思路如下:

    检查数据源表中的数据,确保这些字段的默认值都是合法的数字格式。可能存在某些数据不符合预期,导致了该错误。您可以检查数据表中的默认值,并确保它们都是数字类型,没有包含非法字符。

    检查 Flink CDC Connector 的配置,确保正确解析和传输数据。请确认 Flink CDC Connector 的源表和目标表的字段映射关系是否正确,以及是否正确解析和转换数据类型。

    检查目标表的定义,确保目标表的字段类型和源表的字段类型匹配。您提到数据同步到 Doris 数据库,因此请确保目标表的字段类型与源表的字段类型相匹配,特别是默认值的类型和格式。

    以上是解决问题的一些思路和建议。如果问题仍然存在,请提供更多的错误信息、完整的配置和代码,以便我能够更准确地帮助您解决问题。

    2023-09-20 17:54:51
    赞同 展开评论 打赏

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

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载

    相关镜像