文档首页/ 数据治理中心 DataArts Studio/ 常见问题/ 数据集成(实时作业)/ 写Hudi同步过程中报错,错误信息包含“java.lang.NumberFormatException: For input string”怎么办?
更新时间:2025-08-05 GMT+08:00

写Hudi同步过程中报错,错误信息包含“java.lang.NumberFormatException: For input string”怎么办?

问题描述

在增量同步过程中写入Hudi表时,作业出现异常,JobManager或TaskManager的错误日志显示“java.lang.NumberFormatException: For input string”。

图1 报错信息

原因分析

用户对源端进行了字段类型的变更(例如,从 int 更改为 varchar),但 Hudi 侧的对应字段类型未进行更新,仍保持为 int,导致 Hudi 侧数据类型不兼容,最终作业出现异常。

解决方案

当前以Hudi作为目的端的作业不支持实时同步“修改字段类型”类的DDL操作。客户需要停止实时作业,使用Spark SQL和Hudi的schema evolution功能来修改Hudi的字段类型。完成修改后,重新启动实时作业即可。

对于Hudi表的字段类型变更,请参考MRS官方文档:Hudi表字段类型变更。以下提供一个简单的变更样例,具体SQL语句请以MRS官方文档为准。

# Spark SQLset hoodie.schema.evolution.enable=true;ALTER TABLE {my_table} ALTER COLUMN {my_column} TYPE string;