We ran into an issue where there is a table created in Oracle 11g:
We want to import date from Oracle to Hive:
In Sqoop logs we see the following:
From this output we can see that Oracle states about column1 has Type=2 which is NUMERIC (regarding to https://docs.oracle.com/javase/7/docs/api/constant-values.html#java.sql.Types.FLOAT). Sqoop translates NUMERIC to DECIMAL (https://github.com/apache/sqoop/blob/trunk/src/java/org/apache/sqoop/mapreduce/hcat/SqoopHCatUtilities.java#L1050L1107). Due to Oracle uses scale=-127 to sign about a NUMERIC that it is a FLOAT instead of stating Type=6, Sqoop creates integers (decimal with 0 scale) from NUMBER.
I think it is the fault of Oracle as it does not use Java Type=6 to sign type of a float. What do you think?
Thank you for the details and investigation to Mahesh Balakrishnan and Andrew Miller