sqoop从mysql导数据到hive异常

1 异常信息:

com.mysql.jdbc.exceptions.jdbc4.MySQLDataException: '18446744073387431615' in column '5' is outside valid range for the datatype BIGINT.
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeConstructorAccessorImpl.java:0)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
   at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
   at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
   at com.mysql.jdbc.Util.getInstance(Util.java:386)

2 这是官网给出的解释:

24.2.2. UNSIGNED columns
Columns with type UNSIGNED in MySQL can hold values between 0 and 2^32 (4294967295), but the database will report the data type to Sqoop as INTEGER, which will can hold values between -2147483648 and \+2147483647. Sqoop cannot currently import UNSIGNED values above 2147483647.

3 原因:

 数据库有测试的脏数据,unsigned的bigint值超出了范围,删除该数据重导。

你可能感兴趣的:(大数据)