利用sqoop 从MySQL导数据到hdfs报错java.sql.SQLException: Invalid value for getLong() - ‘手机一级‘

在使用sqoop从MySQL数据库导入数据到HDFS时,遇到了一个错误:'java.sql.SQLException: Invalid value for getLong() - ‘颜色’'。错误出现在com.mysql.jdbc.ResultSetImpl.getLong()方法中,可能原因是数据类型不匹配。导入过程中, Sqoop尝试将非长整型数据转换为Long类型导致异常。问题的解决方案可能包括检查数据源中的字段类型,确保与sqoop导入配置匹配,或者在sqoop命令中指定正确的字段类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sqoop导入数据报错
!java.sql.SQLException: Invalid value for getLong() - ‘颜色’
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1094)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:997)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:983)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:928)
at com.mysql.jdbc.ResultSetImpl.getLong(ResultSetImpl.java:2990)
at com.mysql.jdbc.ResultSetImpl.getLong(ResultSetImpl.java:2942)
at org.apache.sqoop.lib.JdbcWritableBridge.readLong(JdbcWritableBridge.java:62)
at com.cloudera.sqoop.lib.JdbcWritableBridge.readLong(JdbcWritableBridge.java:57)
at QueryResult.readFields(QueryResult.java:161)
at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:244)
at org.apache.hadoop.mapred.MapTask N e w T r a c k i n g R e c o r d R e a d e r . n e x t K e y V a l u e ( M a p T a s k . j a v a : 568 ) a t o r g . a p a c h e . h a d o o p . m a p r e d u c e . t a s k . M a p C o n t e x t I m p l . n e x t K e y V a l u e ( M a p C o n t e x t I m p l . j a v a : 80 ) a t o r g . a p a c h e . h a d o o p . m a p r e d u c e . l i b . m a p . W r a p p e d M a p p e r NewTrackingRecordReader.nextKeyValue(MapTask.java:568) at org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80) at org.apache.hadoop.mapreduce.lib.map.WrappedMapper NewTrackingRecordReader.nextKeyValue(MapTask.java:568)atorg.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80)atorg.apache.hadoop.mapreduce.lib.map.Wrappe

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值