Sqoop version: 1.4.6
I am trying to export Avro data generated by pig into Oracle using Sqoop 1.4.6
with Oraoop connector. The oracle table has 2 columns that are designated as
“NUMBER” columns. The columns are saved as int in Pig and mapped to Integer in
sqoop. This command works if I disable Oraoop but I need it enabled for
desired functionality. Config and error are below.
<action name="SqoopDeidOraoop">
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<job-xml>sqoop-common.xml</job-xml>
<configuration>
<property>
<name>oozie.launcher.mapreduce.task.classpath.user.precedence</name>
<value>true</value>
</property>
<property>
<name>java.security.egd</name>
<value>file:/dev/../dev/urandom</value>
</property>
<property>
<name>oraoop.oracle.append.values.hint.usage</name>
<value>ON</value>
</property>
<property>
<name>oraoop.disabled</name>
<value>false</value>
</property>
</configuration>
<arg>export</arg>
<arg>--connect</arg>
<arg>(connection)</arg>
<arg>--username</arg>
<arg>(user)</arg>
<arg>--password</arg>
<arg>(password)</arg>
<arg>--map-column-java</arg>
<arg>CLIENT_DS_ID=Integer,SEQ=Integer</arg>
<arg>--direct</arg>
<arg>--num-mappers</arg>
<arg>2</arg>
<arg>--table</arg>
<arg>TEST_TABLE</arg>
<arg>--export-dir</arg>
<arg>(dir)</arg>
<arg>--verbose</arg>
</sqoop>
<ok to="end"/>
<error to="kill"/>
</action>
The error:
java.io.IOException: java.sql.SQLException: java.lang.ClassCastException:
java.lang.Integer cannot be cast to java.math.BigDecimal
at
org.apache.sqoop.mapreduce.AsyncSqlRecordWriter.write(AsyncSqlRecordWriter.java:220)
at
org.apache.sqoop.manager.oracle.OraOopOutputFormatBase$OraOopDBRecordWriterBase.write(OraOopOutputFormatBase.java:564)
at
org.apache.sqoop.manager.oracle.OraOopOutputFormatInsert$OraOopDBRecordWriterInsert.write(OraOopOutputFormatInsert.java:107)
at
org.apache.sqoop.manager.oracle.OraOopOutputFormatBase$OraOopDBRecordWriterBase.write(OraOopOutputFormatBase.java:200)
at
org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.write(MapTask.java:558)
at
org.apache.hadoop.mapreduce.task.TaskInputOutputContextImpl.write(TaskInputOutputContextImpl.java:85)
at
org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.write(WrappedMapper.java:106)
at org.apache.sqoop.mapreduce.AvroExportMapper.map(AvroExportMapper.java:36)
at org.apache.sqoop.mapreduce.AvroExportMapper.map(AvroExportMappe