Thanks David,

Very valuable input. Will update the group with my findings.

Regards
Sunita

On Monday, November 11, 2013, David Morel wrote:

> On 12 Nov 2013, at 0:01, Sunita Arvind wrote:
>
>  Just in case this acts as a workaround for someone:
>> The issue is resolved if I eliminate the "where" clause in the query (just
>> keep "where $CONDITIONS"). So 2 workarounds I can think of now are:
>> 1. Create views in Oracle and query without the where clause in the sqoop
>> import command
>> 2. Import everything in the table (not feasible in most cases)
>>
>> However, I still need to know how to get the exact stack trace.
>>
>> regards
>> Sunita
>>
>>
>> On Mon, Nov 11, 2013 at 1:48 PM, Sunita Arvind <sunitarv...@gmail.com
>> >wrote:
>>
>>  Hello,
>>>
>>> I am using sqoop to import data from oracle into hive. Below is my SQL:
>>>
>>> nohup sqoop import --connect "jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS
>>> =
>>> (PROTOCOL = TCP)(HOST = xxxxxxx)(PORT = xxxx)) (CONNECT_DATA = (SERVER =
>>> DEDICATED) (SERVICE_NAME = CDWQ.tms.toyota.com) (FAILOVER_MODE=
>>> (TYPE=select) (METHOD=basic))))"  --username "xxxx"  --password "xxxx"
>>> --split-by employeeid --query  "SELECT e.employeeid,p.salary from
>>> employee
>>> e, payroll p
>>> where e.employeeid =p.employeeid and $CONDITIONS"
>>> --create-hive-table  --hive-table "EMPLOYEE" --hive-import --target-dir
>>> "/user/hive/warehouse/employee" --direct --verbose
>>>
>>>
>>> Note: This is production data hence I cannot share the log file or actual
>>> query. Sorry for that.
>>>
>>> Similar query works for some tables and for this particular table, there
>>> is an exception as below:
>>>
>>> java.io.IOException: SQLException in nextKeyValue
>>>      at
>>> org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(
>>> DBRecordReader.java:266)
>>>      at
>>> org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.
>>> nextKeyValue(MapTask.java:484)
>>>      at
>>> org.apache.hadoop.mapreduce.task.MapContextImpl.
>>> nextKeyValue(MapContextImpl.java:76)
>>>      at
>>> org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.
>>> nextKeyValue(WrappedMapper.java:85)
>>>      at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:139)
>>>      at
>>> org.apache.sqoop.mapreduce.AutoProgressMapper.run(
>>> AutoProgressMapper.java:64)
>>>      at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:673)
>>>      at org.apache.hadoop.mapred.MapTask.run(MapTask.java:331)
>>>      at org.apache.hadoop.mapred.Child$4.run(Child.java:268)
>>>      at java.security.AccessController.doPrivileged(Native Method)
>>>      at javax.security.auth.Subject.doAs(Subject.java:396)
>>>      at
>>> org.apache.hadoop.security.UserGroupInformation.doAs(
>>> UserGroupInformation.java:1408)
>>>      at org.apache.hadoop.mapred.Child.main(Child.java:262)
>>>
>>
>
> This is usually the case when your PK (on which Sqoop will try to do the
> split) isn't an integer.
>
> my 2c.
>
> David
>

Reply via email to