Sqoop --map-column-java (use case INTEGER UNSIGNED)



Hi, Can anyone tell how Sqoop maps RDBMS data types? As stated in sqoop documentation, sqoop import will fail if value assigned to unsigned int greater than 2147483647.

To check this i created a table (in mysql) with id as INTEGER UNSIGNED and assign it value 2147483648 which is greater than allowed limit of 2147483647 for signed integer. When i ran Sqoop import then it imported data without any issues. I expected sqoop job to fail as datbase reported this column as integer and when it will see this large value then it should abend where as my sqoop job ran fine

Sqoop documentation
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.