Hi Sanjiv, How big is the shared pool on the Oracle database? Can you run the following query and provide the output: select nvl(pool,name) name, sum(bytes)/1024/1024 size_mb from v$sgastat group by nvl(pool,name)
This might explain why it works with a low number of mappers but not a large number. Each mapper needs to run multiple SQL statements which will require space in the shared pool. So you most likely need to increase the shared pool size. How many CPUs and memory does the Oracle database have? 100 mappers is a lot unless it is quite a powerful database. So possibly reducing the number of mappers would be a good idea. David From: @Sanjiv Singh [mailto:[email protected]] Sent: Friday, 25 September 2015 5:15 PM To: Mario Amatucci Cc: [email protected]; David Robson Subject: Re: OraOop : Sqoop Direct Oracle import failed with error "Error: java.io.IOException: SQLException in nextKeyValue" Thanks Mario, You saved my day ....with "-Doraoop.import.consistent.read=true" removed from sqoop command ...that same error certainly disappeared. Thanks a lots again. Now , I am facing another error when I tried on bigger table.Error which seems related to shared pool memory configuration . Can you help understand the issue and resolving the same. Error logs : 2015-09-25 11:11:19,411 [myid:] - INFO [main:OraOopLog@103] - Initializing Oracle session with SQL : alter session disable parallel query 2015-09-25 11:11:19,412 [myid:] - INFO [main:OraOopLog@103] - Initializing Oracle session with SQL : alter session set "_serial_direct_read"=true 2015-09-25 11:11:19,412 [myid:] - INFO [main:OraOopLog@103] - Initializing Oracle session with SQL : alter session set tracefile_identifier=oraoop 2015-09-25 11:12:40,764 [myid:] - INFO [main:OraOopLog@103] - The table being imported by sqoop has -365544576 blocks that have been divided into 128452 chunks which will be processed in 10 splits. The chunks will be allocated to the splits using the method : ROUNDROBIN ... Caused by: java.sql.SQLException: ORA-04031: unable to allocate 928 bytes of shared memory ("shared pool","unknown object","sga heap(2,1)","KGL handle") ... Caused by: java.sql.SQLException: ORA-04031: unable to allocate 40 bytes of shared memory ("shared pool","SELECT /*+ NO_INDEX(t) */ SS...","sql area","plspfg : qcspls") ... Caused by: java.sql.SQLException: ORA-04031: unable to allocate 40 bytes of shared memory ("shared pool","SELECT /*+ NO_INDEX(t) */ SS...","sql area","plspfg : qcspls") .... Sample logs : Error: java.io.IOException: SQLException in nextKeyValue at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:277) at org.apache.sqoop.manager.oracle.OraOopDBRecordReader.nextKeyValue(OraOopDBRecordReader.java:351) at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:553) at org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80) at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) at org.apache.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:64) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) Caused by: java.sql.SQLException: ORA-04031: unable to allocate 928 bytes of shared memory ("shared pool","unknown object","sga heap(2,1)","KGL handle") at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70) at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1034) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:791) at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:866) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3431) at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491) at org.apache.sqoop.mapreduce.db.DBRecordReader.executeQuery(DBRecordReader.java:111) at org.apache.sqoop.manager.oracle.OraOopDBRecordReader.executeQuery(OraOopDBRecordReader.java:417) at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:235) 2015-09-25 10:19:26,269 INFO [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerRequestor: getResources() for application_1442839036383_0062: ask=1 release= 0 newContainers=5 finishedContainers=6 resourcelimit=<memory:2048, vCores:-29> knownNMs=5 2015-09-25 10:19:26,269 INFO [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Received completed container container_1442839036383_0062_01_000040 2015-09-25 10:19:26,269 INFO [IPC Server handler 24 on 55993] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Diagnostics report from attempt_1442839036383_0062_m_000023_1: Error: java.io.IOException: SQLException in nextKeyValue at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:277) at org.apache.sqoop.manager.oracle.OraOopDBRecordReader.nextKeyValue(OraOopDBRecordReader.java:351) at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:553) at org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80) at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) at org.apache.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:64) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) Caused by: java.sql.SQLException: ORA-04031: unable to allocate 40 bytes of shared memory ("shared pool","SELECT /*+ NO_INDEX(t) */ SS...","sql area","plspfg : qcspls") at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70) at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1034) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:791) at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:866) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3431) at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491) at org.apache.sqoop.mapreduce.db.DBRecordReader.executeQuery(DBRecordReader.java:111) at org.apache.sqoop.manager.oracle.OraOopDBRecordReader.executeQuery(OraOopDBRecordReader.java:417) at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:235) ... 13 more 2015-09-25 10:19:26,269 INFO [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Received completed container container_1442839036383_0062_01_000006 2015-09-25 10:19:26,269 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: Diagnostics report from attempt_1442839036383_0062_m_000013_2: Container killed by the ApplicationMaster. Container killed on request. Exit code is 143 Container exited with a non-zero exit code 143 2015-09-25 10:19:26,269 FATAL [IPC Server handler 27 on 55993] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Task: attempt_1442839036383_0062_m_000006_3 - exited : java.io.IOException: SQLException in nextKeyValue at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:277) at org.apache.sqoop.manager.oracle.OraOopDBRecordReader.nextKeyValue(OraOopDBRecordReader.java:351) at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:553) at org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80) at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) at org.apache.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:64) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) Caused by: java.sql.SQLException: ORA-04031: unable to allocate 40 bytes of shared memory ("shared pool","SELECT /*+ NO_INDEX(t) */ SS...","sql area","plspfg : qcspls") at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70) at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1034) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:791) at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:866) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3431) at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491) at org.apache.sqoop.mapreduce.db.DBRecordReader.executeQuery(DBRecordReader.java:111) at org.apache.sqoop.manager.oracle.OraOopDBRecordReader.executeQuery(OraOopDBRecordReader.java:417) at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:235) ... 13 more 2015-09-25 10:19:26,269 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: Diagnostics report from attempt_1442839036383_0062_m_000023_1: Error: java.io.IOException: SQLException in nextKeyValue at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:277) at org.apache.sqoop.manager.oracle.OraOopDBRecordReader.nextKeyValue(OraOopDBRecordReader.java:351) at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:553) at org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80) at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) at org.apache.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:64) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) Caused by: java.sql.SQLException: ORA-04031: unable to allocate 40 bytes of shared memory ("shared pool","SELECT /*+ NO_INDEX(t) */ SS...","sql area","plspfg : qcspls") at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70) at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1034) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:791) at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:866) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3431) at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491) at org.apache.sqoop.mapreduce.db.DBRecordReader.executeQuery(DBRecordReader.java:111) at org.apache.sqoop.manager.oracle.OraOopDBRecordReader.executeQuery(OraOopDBRecordReader.java:417) at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:235) ... 13 more 2015-09-25 10:19:26,270 INFO [IPC Server handler 27 on 55993] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Diagnostics report from attempt_1442839036383_0062_m_000006_3: Error: java.io.IOException: SQLException in nextKeyValue at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:277) at org.apache.sqoop.manager.oracle.OraOopDBRecordReader.nextKeyValue(OraOopDBRecordReader.java:351) at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:553) at org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80) at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) at org.apache.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:64) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) Caused by: java.sql.SQLException: ORA-04031: unable to allocate 40 bytes of shared memory ("shared pool","SELECT /*+ NO_INDEX(t) */ SS...","sql area","plspfg : qcspls") at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70) at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1034) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:791) at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:866) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3431) at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491) at org.apache.sqoop.mapreduce.db.DBRecordReader.executeQuery(DBRecordReader.java:111) at org.apache.sqoop.manager.oracle.OraOopDBRecordReader.executeQuery(OraOopDBRecordReader.java:417) at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:235) ... 13 more 2015-09-25 10:19:26,269 INFO [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Received completed container container_1442839036383_0062_01_000039 2015-09-25 10:19:26,270 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: Diagnostics report from attempt_1442839036383_0062_m_000004_0: Container killed by the ApplicationMaster. Container killed on request. Exit code is 143 Container exited with a non-zero exit code 143 Regards Sanjiv Singh Mob : +091 9990-447-339 On Fri, Sep 25, 2015 at 12:12 PM, Mario Amatucci <[email protected]<mailto:[email protected]>> wrote: Hi Sanjiv, when you use -Doraoop.import.consistent.read=true \ from https://sqoop.apache.org/docs/1.4.5/SqoopUserGuide.html Set to true to ensure all mappers read from the same point in time. The System Change Number (SCN) is passed down to all mappers, which use the Oracle Flashback Query to query the table as at that SCN. => your oracle needs to save that 'snapshot' of all the data somewhere but at the same time it needs keep data changing as new dml comes on the table... you need that space available contact your oracle admin for details Best, Mario Kind Regards, Mario Amatucci On 25 September 2015 at 08:32, @Sanjiv Singh <[email protected]<mailto:[email protected]>> wrote: > Hi Mario, > > Thanks for the reply. > > Please help me understand "maybe is the case you have not enough undo space > on oracle". > > Are you talking about disk or memory configured ? help me verify the same on > Oracle. > > Any help is highly appreciated !!! > > > > Regards, > Sanjiv Singh > > > Regards > Sanjiv Singh > Mob : +091 9990-447-339<tel:9990-447-339> > > On Fri, Sep 25, 2015 at 11:57 AM, Mario Amatucci > <[email protected]<mailto:[email protected]>> > wrote: >> >> Hi Sanjiv, >> maybe is the case you have not enough undo space on oracle; I saw that >> error on my case when loading data. Can you try with just 1 (smallest) >> partition? >> Kind Regards, >> Mario Amatucci >> >> >> On 25 September 2015 at 06:23, @Sanjiv Singh >> <[email protected]<mailto:[email protected]>> >> wrote: >> > Hi David, >> > >> > PFA for log file with "—verbose" added to sqoop command. >> > >> > >> > Sqoop version: 1.4.5 >> > hadoop-2.6.0 >> > >> > Let me know if need other details. >> > >> > >> > >> > Regards >> > Sanjiv Singh >> > Mob : +091 9990-447-339<tel:9990-447-339> >> > >> > On Fri, Sep 25, 2015 at 6:04 AM, David Robson >> > <[email protected]<mailto:[email protected]>> >> > wrote: >> >> >> >> Hi Sanjiv, >> >> >> >> >> >> >> >> Could you please run the failing command again and add “—verbose” to >> >> generate debug logging and post the full log file? >> >> >> >> >> >> >> >> David >> >> >> >> >> >> >> >> From: @Sanjiv Singh >> >> [mailto:[email protected]<mailto:[email protected]>] >> >> Sent: Thursday, 24 September 2015 10:10 PM >> >> To: [email protected]<mailto:[email protected]> >> >> Cc: Sanjiv Singh >> >> Subject: OraOop : Sqoop Direct Oracle import failed with error "Error: >> >> java.io.IOException: SQLException in nextKeyValue" >> >> >> >> >> >> >> >> Hi Folks, >> >> >> >> >> >> >> >> I am trying to import partitioned Oracle table through "OraOop" - >> >> direct >> >> mode to Hive and getting error. >> >> >> >> I tried with other permutation and combination of sqoop parameters, >> >> here >> >> is what i have tried. >> >> >> >> Worked (chunk.method=PARTITION and only 1 mapper): >> >> >> >> >> >> >> >> -Doraoop.import.partitions='OLD_DAYS,SYS_P41,SYS_P42,SYS,SYS_P68,SYS_P69,SYS_P70,SYS_P71' >> >> \ >> >> -Doraoop.chunk.method=PARTITION \ >> >> --m 1 \ >> >> --direct \ >> >> >> >> Worked (chunk.method=PARTITION removed and 100 mappers): >> >> >> >> >> >> >> >> -Doraoop.import.partitions='OLD_DAYS,SYS_P41,SYS_P42,SYS,SYS_P68,SYS_P69,SYS_P70,SYS_P71' >> >> \ >> >> --m 100 \ >> >> --direct \ >> >> >> >> Doesn't work (chunk.method=PARTITION and 100 mappers): >> >> >> >> >> >> >> >> -Doraoop.import.partitions='OLD_DAYS,SYS_P41,SYS_P42,SYS,SYS_P68,SYS_P69,SYS_P70,SYS_P71' >> >> \ >> >> -Doraoop.chunk.method=PARTITION \ >> >> --m 100 \ >> >> --direct \ >> >> >> >> Through other combination are working , Can you please help me >> >> understand >> >> why chunk.method=PARTITION with multiple mappers failing. ? >> >> >> >> Is there something need to be done on hive for partition ? >> >> >> >> please help me in resolving the issue ? >> >> >> >> Any help is highly appreciated >> >> >> >> >> >> >> >> >> >> See below full sqoop command which is failing. and error logs. >> >> >> >> Sqoop Import command (which is failing): >> >> >> >> $SQOOP_HOME/bin/sqoop import \ >> >> -Doraoop.disabled=false \ >> >> >> >> >> >> -Doraoop.import.partitions='OLD_DAYS,SYS_P41,SYS_P42,SYS,SYS_P68,SYS_P69,SYS_P70,SYS_P71' >> >> \ >> >> -Doraoop.chunk.method=PARTITION \ >> >> -Doraoop.import.consistent.read=true \ >> >> -Dmapred.child.java.opts="-Djava.security.egd=file:/dev/../dev/urandom" >> >> \ >> >> --connect jdbc:oracle:thin:@host:port/db \ >> >> --username ***** \ >> >> --password ***** \ >> >> --table DATE_DATA \ >> >> --direct \ >> >> --hive-import \ >> >> --hive-table tempDB.DATE_DATA \ >> >> --split-by D_DATE_SK \ >> >> --m 100 \ >> >> --delete-target-dir \ >> >> --target-dir /tmp/34/DATE_DATA >> >> >> >> >> >> Error logs : >> >> >> >> 2015-09-24 16:23:57,068 [myid:] - INFO [main:Job@1452] - Task Id : >> >> attempt_1442839036383_0051_m_000006_0, Status : FAILED >> >> Error: java.io.IOException: SQLException in nextKeyValue >> >> at >> >> >> >> org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:277) >> >> at >> >> >> >> org.apache.sqoop.manager.oracle.OraOopDBRecordReader.nextKeyValue(OraOopDBRecordReader.java:351) >> >> at >> >> >> >> org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:553) >> >> at >> >> >> >> org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80) >> >> at >> >> >> >> org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91) >> >> at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) >> >> at >> >> >> >> org.apache.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:64) >> >> at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784) >> >> at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) >> >> at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163) >> >> at java.security.AccessController.doPrivileged(Native Method) >> >> at javax.security.auth.Subject.doAs(Subject.java:415) >> >> at >> >> >> >> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628) >> >> at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) >> >> Caused by: java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not >> >> properly ended >> >> >> >> at >> >> >> >> oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:91) >> >> at >> >> >> >> oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133) >> >> at >> >> >> >> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206) >> >> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455) >> >> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413) >> >> at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1034) >> >> at >> >> >> >> oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194) >> >> at >> >> >> >> oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:791) >> >> at >> >> >> >> oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:866) >> >> at >> >> >> >> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186) >> >> at >> >> >> >> oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387) >> >> at >> >> >> >> oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3431) >> >> at >> >> >> >> oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491) >> >> at >> >> >> >> org.apache.sqoop.mapreduce.db.DBRecordReader.executeQuery(DBRecordReader.java:111) >> >> at >> >> >> >> org.apache.sqoop.manager.oracle.OraOopDBRecordReader.executeQuery(OraOopDBRecordReader.java:417) >> >> at >> >> >> >> org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:235) >> >> ... 13 more >> >> >> >> >> >> >> >> >> >> Regards >> >> Sanjiv Singh >> >> Mob : +091 9990-447-339 >> > >> > > >
