You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sqoop1.4.6导出数据到MySQL8.0时报NumberFormatException错误求助

Sqoop 1.4.6导出MySQL 8报错解决方案

根因说明

报错NumberFormatException: For input string: "Redington"是因为Sqoop获取的MySQL表字段顺序和HDFS中CSV文件的字段顺序不匹配,字符串类型的姓名被误映射到数值类型的id字段,触发类型转换失败。修改id为bigint无法解决问题,该故障和字段长度无关。

解决方案

  • 显式指定字段匹配顺序
    在导出命令中添加--columns参数,严格按照CSV的字段顺序声明表字段,强制匹配关系:
--columns id,first_name,last_name,email
  • 修正JDBC连接参数适配MySQL 8
    Sqoop 1.4.6默认的元数据读取逻辑不兼容MySQL 8,会导致字段顺序识别错误。在JDBC连接串中添加以下参数,保证能读取到正确的字段顺序:
jdbc:mysql://localhost:3306/school?useInformationSchema=true&serverTimezone=UTC
  • 校验导出目录的文件
    确认命令中--export-dir指定的/sqoop_data/school/目录下仅存放符合格式的CSV数据文件,删除_SUCCESS、临时文件等无关内容,避免Sqoop读取到异常数据。

修正后的完整命令

sqoop export \
--connect jdbc:mysql://localhost:3306/school?useInformationSchema=true&serverTimezone=UTC \
--username 你的数据库账号 --password 你的数据库密码 \
--table student \
--columns id,first_name,last_name,email \
--export-dir /sqoop_data/school/ \
--input-fields-terminated-by ","

如果以上操作执行后仍报错,检查Sqoop的lib目录下是否放置了MySQL 8.x版本的JDBC驱动包,驱动版本不兼容也会触发元数据读取异常。

内容的提问来源于stack exchange,提问作者bismi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 15:06:03