I'm trying to import into Hive several Oracle tables using Sqoop. These tables have some columns, with NUMBER datatype, that contains numbers with more than 38 digits (e.g. 359348581549148849670250346862698439865). Now:
- If I force the Sqoop datatype, for those columns, as DECIMAL the columns are NULL because the number of digits exceed the maximum precision (38).
- If I force the Sqoop datatype, for those columns, as STRING or DOUBLE, the numbers will appear in exponential notation (e.g. 3.5934858154914885E38 ).
I can think of a couple of workarounds (e.g. casting those columns as VARCHAR2(40) in the Sqoop source query), but they'll complicate considerably my scripts. Is there a simple way to import such columns in a way that preserves the original appearance?