[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12797344#action_12797344
 ] 

Aaron Kimball commented on MAPREDUCE-1327:
------------------------------------------

Looking at this patch myself, a few things stand out:

* This patch seems to revert many recent changes to Sqoop. Please re-merge your 
branch with trunk before resubmitting and make sure you're not submitting 
extraneous changes.
* Please don't go over 80 columns / line
* Uses of System.out and System.err should be replaced with appropriate 
LOG.info(), debug(), etc statements.
* Don't trap the exception on failure to set tz in OracleManager; that should 
rethrow a SQLException
* The base SqlManager.toJavaType() method should still return null in the 
undefined 'else' case. An extra 'dbToJavaType' method is unnecessary; 
subclasses should simply override toJavaType().
* The base toHiveType() method should not be empty; it should call 
o.a.h.sqoop.hive.HiveTypes.toHiveType().
* I don't understand SqlManager.getDatabaseType(). Nothing Oracle-specific 
should be in this class; that belongs in OracleManager.
* getTypeClass() similarly does not belong in the base SqlManager class.

> Oracle database import via sqoop fails when a table contains the column types 
> such as TIMESTAMP(6) WITH LOCAL TIME ZONE and TIMESTAMP(6) WITH TIME ZONE
> -------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-1327
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1327
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: contrib/sqoop
>    Affects Versions: 0.22.0
>            Reporter: Leonid Furman
>             Fix For: 0.22.0
>
>         Attachments: MAPREDUCE-1327.patch.gz
>
>   Original Estimate: 96h
>  Remaining Estimate: 96h
>
> When Oracle table contains the columns "TIMESTAMP(6) WITH LOCAL TIME ZONE" 
> and "TIMESTAMP(6) WITH TIME ZONE", Sqoop fails to map values for those 
> columns to valid Java data types, resulting in the following exception:
> ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.NullPointerException
> java.lang.NullPointerException
>         at 
> org.apache.hadoop.sqoop.orm.ClassWriter.generateFields(ClassWriter.java:253)
>         at 
> org.apache.hadoop.sqoop.orm.ClassWriter.generateClassForColumns(ClassWriter.java:701)
>         at 
> org.apache.hadoop.sqoop.orm.ClassWriter.generate(ClassWriter.java:597)
>         at org.apache.hadoop.sqoop.Sqoop.generateORM(Sqoop.java:75)
>         at org.apache.hadoop.sqoop.Sqoop.importTable(Sqoop.java:87)
>         at org.apache.hadoop.sqoop.Sqoop.run(Sqoop.java:175)
>         at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
>         at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
>         at org.apache.hadoop.sqoop.Sqoop.main(Sqoop.java:201)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> I have modified the code for Hadoop and Sqoop so this bug is fixed on my 
> machine. Please let me know if you would like me to generate the patch and 
> upload it to this ticket.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to